在git-flow中,为什么需要存在master分支?

6

我和同事们讨论了git-flow,他们提出了一个有趣的观点。为什么不从develop分支标记版本,而是从master分支呢?Master分支似乎只存在于标记版本的目的。也许当我阅读完整篇git-flow文章时,可能错过了一些明显的内容。


6
至少意味着你可以检查master获取最新的生产代码(而不是找出最新标签的名称)。 - Oliver Charlesworth
2个回答

7
您不能简单地在 develop 上打标记,原因有两个: release 分支和 hotfixes 分支。 release 分支 - 一旦您从 develop 创建发布分支以准备发布,则会得到“发布候选版本”,该版本将仅接受有限更改,而主要开发分支 develop 可能会继续获得不适用于此版本的其他提交,例如为未来版本而进行的更改。即使您将来自 release 分支的更改合并到 develop 中,您仍将在 develop 上拥有其他提交,这些提交不适用于发布,也就是说,您不能在 develop 上打标记。还要注意,release 分支是临时分支,在发布后消失,而 master(和 develop)是长期存在的“永久”分支。 hotfix 分支 - 对于热修复也存在类似情况-您创建一个热修复临时分支(从上次发布开始),以允许您隔离哪些提交进入您的热修复版本(只有特定的错误修复)。
您可以对 release 分支和 hotfix 分支的最终提交打标记和/或使这些分支成为长期存在的分支,但是 git-flow 模型使用 master 来跟踪和连接发布。

3

“Master”是一种惯例。如果你想建立一个不同的惯例,你可以这样做。使用“master”分支的想法可能适合你的目的,也可能不适合。


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