首页 > 解决方案 > 为什么在使用 GitFlow 时需要将发布分支合并到开发分支中?

问题描述

我正在学习 Gitflow 工作流。下面是一个关于 Gitflow 工作流的示例图。

我认为A,B,C和D的内容是一样的,对吧?

我认为 A 合并到 C 然后 C 合并到 D 是可以的,但是为什么需要 C 合并到 B ?你知道A和B是一样的!

图片

在此处输入图像描述

标签: gitgit-flow

解决方案


您关于 A、B、C 和 D 相同的断言是不正确的(至少在此图的上下文中)。

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

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

现在,说了这么多,有时可能在发布分支上没有进行额外的更改,因此,合并回开发分支是不必要的。在这些情况下,如果你尝试将 release 分支合并回 develop 分支,git 实际上会告诉你无事可做,因此不会发生合并。

这记录在有关使用 GitFlow 的原始文章中:

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

发布分支支持准备新的生产版本。它们允许在最后一分钟点 i 和交叉 t。此外,它们允许修复小错误并为发布准备元数据(版本号、构建日期等)。通过在发布分支上完成所有这些工作,开发分支就可以接收下一个大版本的功能。


推荐阅读