当使用GitFlow时,为什么需要将发布分支合并到开发分支?

5
我正在学习Gitflow工作流。以下是有关Gitflow工作流的示意图。
我认为A、B、C和D的内容是相同的,对吧?
我认为A合并到C,然后C合并到D是可以的,但为什么需要C合并到B呢?你知道A和B是一样的! 图片 enter image description here
1个回答

5

你认为A、B、C和D是相同的,这是不正确的(至少在此图表的上下文中)。

在A和C之间,你会看到有一些提交。这是正常的。在“测试”发布分支时,可能会发现一些需要在发布之前更正的错误。或者可能需要进行一些维护工作,例如在源代码中更新版本号等。

无论哪种情况,都会在发布分支上进行更改,因此,一旦完成,这些更改必须被带回到开发分支中,以便它们可以进入下一个发布版本。

现在,话虽如此,有时在发布分支上没有进行其他更改,因此,将发布分支合并回开发分支是不必要的。在这些情况下,如果你尝试将发布分支合并回开发分支,git实际上会告诉你没有任何操作可执行,因此不会发生合并。

关于使用GitFlow的原始文章中有相关文档记录:

https://nvie.com/posts/a-successful-git-branching-model/#release-branches

发布分支支持新生产版本的准备工作。它们允许在最后一刻进行细微的修改和修复小错误,并为发布准备元数据(版本号、构建日期等)。通过在发布分支上完成所有这些工作,开发分支将被清除以接收下一个大版本的功能。


谢谢!在Gitflow工作流中,我认为没有人可以直接修改发布分支中的代码。如果有人在发布分支中发现错误,他将需要请求一个人在开发分支中修改代码并重新提交,对吗? - HelloCW
这不是我的理解。请查看有关GitFlow的原始文章,特别是此处:https://nvie.com/posts/a-successful-git-branching-model/#release-branches。 - Gary Ewan Park
根据Gitflow工作流程,您对发布分支所做的任何更改都应通过cherry-picking立即迁移到develop分支。因此,我不明白为什么最后还有什么需要合并的 :| - Ε Г И І И О

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接