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

voi*_*ter 6 git git-flow

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

Ber*_*t F 7

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

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

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

您可以标记release分支和hotfix分支的最终提交和/或使这些分支具有长期分支,但git-flow模型用于master跟踪和连接版本.