为什么需要在 GitFlow 中开发分支

zpy*_*zpy 5 git

我们知道 git-flow 是这样的 在此处输入图片说明 资料来源:文森特·德里森

不知道为什么需要develop分支,没有develop分支会导致什么问题?为什么不合并功能分支直接发布分支呢?

Jef*_* S. 7

实际上,我不会说给定的答案正确解释了为什么需要 develop 分支和 master 分支来实现可发布状态。在每个版本上创建的版本标签也反映了可发布状态,并且在 Git 中,如果需要,您始终可以随后根据这些标签创建一个新分支。

事实上,已有多篇博文批评Git Flow 模型,并提出了一种更方便的分支模型,它只使用一个主分支,即“master”。以下是参考资料:

https://reallifeprogramming.com/git-process-that-works-say-no-to-gitflow-50bf2038ccf7 https://www.endoflineblog.com/gitflow-thinked-harmful

因此,这个问题的实际答案应该是:如果您按照链接帖子中的描述调整工作流程,则不一定需要开发分支。尽管如此,您不会将您的功能合并到发布分支,而是合并到主分支,因为您希望它们在未来版本中也可用。


Has*_*son 6

您不能每次开发新功能时都发布,而是在开发分支处于“可发布”状态时发布。即最终用户可以准确地使用该版本。因此,master 分支反映了最终用户可以使用的版本和修补程序。换句话说,master head始终是一个可以使用的版本,如果没有develop分支,你就无法获得它。

\n\n

文森特·德里森写道:

\n\n
\n

我们认为 origin/master 是主要分支,其中 HEAD 的源代码始终反映生产就绪状态。

\n\n

我们认为 origin/develop 是主要分支,其中 HEAD 的源代码始终反映下一个版本的最新交付的开发更改的状态。有些人将其称为 \xe2\x80\x9cintegration\n 分支\xe2\x80\x9d。这是任何自动夜间构建的基础。

\n
\n\n

你可以在这里获取所有原始帖子

\n