git - 为什么我使用GitFlow时需要将release分支 merge 到develop分支?

标签 git git-flow

我正在学习 Gitflow 工作流。以下是关于 Gitflow Workflow 的示例图。

我觉得A、B、C、D的内容是一样的吧?

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

图片

enter image description here

最佳答案

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

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

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

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

这里记录了关于使用 GitFlow 的原始文章:

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

Release branches support preparation of a new production release. They allow for last-minute dotting of i’s and crossing t’s. Furthermore, they allow for minor bug fixes and preparing meta-data for a release (version number, build dates, etc.). By doing all of this work on a release branch, the develop branch is cleared to receive features for the next big release.

关于git - 为什么我使用GitFlow时需要将release分支 merge 到develop分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54798561/

相关文章:

git - 发布分支 merge 后,为什么master 1 commit领先于develop?

git - 如何在完成命令的 merge 冲突导致中断后恢复 Git-Flow?

git - 在 git 中,如何回滚分支中的特定提交,但即使在 merge 后也不将它们回滚到父分支中?

git - 如何将支持 LFS 的存储库移动到 gitlab.com?

Git 错误 : "Host Key Verification Failed" when connecting to remote repository

windows - 在 Windows 存储库中使用 Linux 行结尾的 .git/config 语法是什么?

git - 术语混淆, "theirs"与 "mine"

git - 与 'git status' 命令相反

git - 如何使用 github token 或 ssh key 设置 Git Bash (msysgit)

java - 没有开发分支的特征分支模型的Git分支策略