为什么发布分支是由开发分支而不是主分支构成的?

时间:2019-05-17 13:27:50

标签: branch git-flow

Git-flow解释了发行分支的以下过程-

  1. 发布分支应与开发分支分叉
  2. 发布分支应合并回master分支,并从master分支创建标签。

我的问题是为什么为什么应该从开发分支而不是主分支中释放分支?这样做有什么好处吗? 我可以代替

  1. 将我的发展整合为大师
  2. 从master分支释放一个版本,然后标记master ...

这将如何影响版本管理?

1 个答案:

答案 0 :(得分:0)

您几乎在以下评论之一中回答了您的问题:
the purpose of master is to be a replica of a production ready stable code

让我详细说明一下:
(1)该陈述是正确的。 master已投入生产。根据{{​​1}},每次提交(来自git-flowrelease分支的合并)都导致一个新版本。
(2)如果将hotfix直接合并到develop上,可能会导致不稳定。这就是我们创建一个master分支的原因。我们使用release的最新版本,但对其进行测试,修复一些错误,调整配置等。
只有一切正常,我们才真正合并到develop上,并因此部署到我们的用户。

决赛-但非常重要-在这里注意:
master只是组织代码的多种方式之一。它不是git-flow。这只是一个建议,一个框架。根据您的需要调整它,或者如果它对您不起作用,请使用完全不同的框架/想法。在过去的15年中,我很少像documented那样精确地使用this is the one and only solution for everyone and everything。我们总是进行一些调整。
其中之一与您的问题密切相关:我们将从git-flow进行部署,并且只有在该部署可行并达到我们的客户(Apple的审核过程,我告诉您!)之后,我们才会合并到release并标记该版本。