在git-flow中,为什么master甚至存在?

时间:2014-01-29 20:38:33

标签: git git-flow

我和同事讨论了git-flow,他们提出了一个有趣的观点。为什么不标记版本而不是主版本?主人似乎只为标签而存在。当我阅读git-flow的整篇文章时,也许我错过了一些明显的东西。

2 个答案:

答案 0 :(得分:7)

您不能简单地标记develop有两个原因:release分支和hotfixes分支。

release分支 - 一旦您从develop创建发布分支以准备发布,那么您就拥有了#34;发布候选者"只有在主开发分支develop可能继续获得不适用于此版本的其他提交时,才会获得有限的更改,例如:用于未来版本的更改。即使您将release分支中的更改合并到develop,您仍然会在develop上进行额外的提交,但不能用于发布,即您无法提交标记develop。另请注意,release分支是临时分支,在发布后会消失,而master(和develop)是长期的"永久性的"分支。

hotfix分支 - 修复程序存在类似的情况 - 您创建了一个修补程序临时分支(来自您的上一个版本),以允许您隔离哪些提交进入您的修补程序版本(只是特定的错误修正)。

您可以标记release分支和hotfix分支的最终提交和/或使这些分支成为长期分支,但git-flow模型使用master来跟踪和连接发布。

答案 1 :(得分:3)

按照惯例存在主人。如果你想建立一个不同的约定,你可以。主分支的想法可能适合您的目的。