在我们的项目中,我们按照 http://nvie.com/posts/a-successful-git-branching-model/遵循 repo 模型。
到目前为止,我一直在向开发分支添加功能,但是现在我们的项目已经创建了一个发布分支,我需要在该发布分支上添加一个修复。根据我的阅读,添加修补程序会将修补程序添加到我的主分支而不是发布分支。那么如何在我的发布分支上添加修复?
在我们的项目中,我们按照 http://nvie.com/posts/a-successful-git-branching-model/遵循 repo 模型。
到目前为止,我一直在向开发分支添加功能,但是现在我们的项目已经创建了一个发布分支,我需要在该发布分支上添加一个修复。根据我的阅读,添加修补程序会将修补程序添加到我的主分支而不是发布分支。那么如何在我的发布分支上添加修复?
发布分支的要点之一是允许修复小错误。因此,当发布分支处于活动状态时,您可以直接在发布分支上进行修复。
发布分支完成后,即发布完成后,合并到master。之后,不应再将提交添加到发布分支。相反,在发布后完成的紧急错误修复是修补程序,应该合并到 master。(非紧急的错误修复可以作为特性创建,合并到开发分支并稍后发布)
从概念上讲,发布分支在发布后“已死”。只有 master 和 development 分支才能持续存在。
您当然可以自由地拥有不同的流程,但是您并没有严格遵循 git-flow 模型。
认为与主分支不同的发布分支在这里提出了问题:)。
正常流程是:
develop -> staging -> master。然后你发布并标记它(v0.1)
热修复流程是:
A -> B-> C
A : 开发 -> 登台 -> 主 (v0.1)
B : master -> release 分支(它是 master 的一个分支)
(在这里我们应用热修复并发布,在这里标记它)(v0.1)
C:发布分支->开发(将那些热修复合并回开发)
循环以新版本号(v0.2)的正常流程再次开始
开发 -> 登台 -> 主控。
所以主分支总是保持不变。唯一的变化是发布分支位于主分支和开发分支之间。
提示是每次您将热修复应用到发布分支或主分支时,下一步就是将这些更改合并回开发
希望这可以帮助 :)。