你认为A、B、C和D是相同的,这是不正确的(至少在此图表的上下文中)。
在A和C之间,你会看到有一些提交。这是正常的。在“测试”发布分支时,可能会发现一些需要在发布之前更正的错误。或者可能需要进行一些维护工作,例如在源代码中更新版本号等。
无论哪种情况,都会在发布分支上进行更改,因此,一旦完成,这些更改必须被带回到开发分支中,以便它们可以进入下一个发布版本。
现在,话虽如此,有时在发布分支上没有进行其他更改,因此,将发布分支合并回开发分支是不必要的。在这些情况下,如果你尝试将发布分支合并回开发分支,git实际上会告诉你没有任何操作可执行,因此不会发生合并。
关于使用GitFlow的原始文章中有相关文档记录:
https://nvie.com/posts/a-successful-git-branching-model/#release-branches
发布分支支持新生产版本的准备工作。它们允许在最后一刻进行细微的修改和修复小错误,并为发布准备元数据(版本号、构建日期等)。通过在发布分支上完成所有这些工作,开发分支将被清除以接收下一个大版本的功能。