我们正在尝试采用 successful Git branching model由 git-flow 实现。现在,我们正在研究至少两个发布分支,一个用于最新的稳定版本,一个用于下一个(“预览”)版本。我不明白的是为什么所有版本似乎都“线性化”到 master 并在那里标记。为什么不在他们的发布分支中标记发布?为什么是主人?或者为什么要使用 develop 分支而不使用 master?
最佳答案
在 git-flow 模型中,你的“最新发布”版本实际上映射到 master
,而你的“预览版”映射到 git-flow release
分支.它从 develop
分支出来,最终在实际发布时 merge 到 master
中。然后这将成为您的“最新版本”,您通常只会修复该版本的错误,使用 git-flow hotfix
分支。这样,您的 master
始终代表您最新发布版本的最稳定状态。
如果你想修复旧版本的错误或在那里进行任何其他开发,你将从 master
中的适当提交中 fork 一个 support
分支(你将有 < strong>所有 曾经在那里创建的版本)。 support
分支仍处于实验阶段(according to the docs)并且没有很好的文档记录。但是从命令行帮助可以看到:
usage: git flow support [list] [-v]
git flow support start [-F] <version> <base>
这些分支刚刚开始,并不打算 merge 回 master
或 develop
。这通常很好,因为对“旧”版本的修复或客户要求在“旧”版本中实现的功能不能或不应返回到 master
。如果您仍然认为,您想将修复程序移植到您的主要开发线(由 master
和 develop
表示),只需启动一个 hotfix
,挑选您的更改并完成 hotfix
。
关于具有多个并行发布分支的 Git-flow 和 master,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16562339/