我们的团队正在使用git flow,我们每两个月就会持续发布一次。关于何时应该创建发布分支,我有点困惑。
例如,在下面的例子中,在最后一个版本中有一个错误,它应该在这个版本中修复,如果我首先创建发布分支并从发布分支创建bugfix分支或者只是从开发创建它,做所有功能开发并合并回到开发,然后从开发创建发布分支?
我应该推动小错误直接发布分支而不创建bugfix分支?
我应该只将一个来自功能分支或bugfix分支的开发合并到发布分支吗?
通常,发布分支从develop分支分支。在发布分支上,版本增加,然后它合并到主分支。在将release分支合并到master分支并返回到develop分支之后,您还应该从master分支创建一个Tag,并根据先前发布的版本的verison编号对其进行命名。
例如,在下面的例子中,在最后一个版本中有一个错误,它应该在这个版本中修复,如果我首先创建发布分支并从发布分支创建bugfix分支或者只是从开发创建它,做所有功能开发并合并回到开发,然后从开发创建发布分支?
在这种情况下,您将为该错误创建一个功能或错误修复分支,修复它并将其合并到开发中。之后,您将完成所有功能开发,并在准备发布后立即从开发分支创建发布分支,并按上述步骤进行操作。
我应该推动小错误直接发布分支而不创建bugfix分支?
您不应该在发布分支上开发,而是在开发分支上开发。在将其合并到master并开发之后可以删除release分支,然后在发布下一个版本时再次创建它。
我应该只将一个来自功能分支或bugfix分支的开发合并到发布分支吗?
如果要发布仅包含1个功能或1个错误修正的新版本,只需从开发分支创建新版本分支,然后按照上述说明创建发行版。没有理由不这样做(即如果你想创建一个只包含1个bugfix的bugfix版本)......
有关GitFlow的更多详细信息,请参阅here