Gitflow 功能分支与错误修复分支的命名

69

在使用Gitflow时,将分支命名区分为feature、bugfix和hotfix的原因是什么?

即,为什么不只是像这样:

feature/
bugfix/
hotfix/

只需执行:

change/

按功能/修复/热修分离有什么好处?


5
我不同意这是基于观点的问题。我的问题严格针对使用Gitflow,而不是一般性的问题。 - Pavel Chernikov
1个回答

84

好问题,答案取决于您如何排序 git。分支模型和 gitflow 总体上试图在提交混乱的几天后给我们带来一些秩序。

下面的图片显示了他们认为最有意义的内容。

(据我所知,所有这些都来自 Vincent Driessen 的这篇博客文章

将直接合并到主分支的热补丁与合并到 dev 的错误修复分开,可以更轻松地配合您的产品周期。

这个想法是您构建应用程序、创建功能、制作发布候选版本(测试版),然后发布应用程序。此后可能随时需要热补丁。没有必要返回到功能分支并在那里发出错误修复,因为该功能可能已经进一步开发。

听起来有道理吗?

enter image description here


8
我认为“热修补”就是“漏洞修复”。它们有什么区别吗? - Danger14
26
是的。热修复是在压力下进行的错误修复,用于已经发布的版本。您不会返回到功能分支或子模块并在那里进行修复,因为该模块可能已经为下一个版本进一步开发。可以想象一下Windows XP,充满了热修补程序。 - Dominik
11
在git-flow中,“hotfix”和“feature”的不同之处在于它们的基础以及完成时合并到哪里(如本答案中所示)。“hotfix”基于主分支,完成后会合并到主分支和开发分支。而“feature”则基于开发分支,在完成时会合并到开发分支。至于“bugfix”,文档记录不够充分,但我认为它在语义上与“feature”有所不同。 - Superole
9
bugfix是git-flow-avh的一个扩展,它包含了上图中绿色发行线上工作的功能。bugfix从发布分支中分支出来,在完成后合并到发布和开发分支中。 - Alwyn Schoeman

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