GitFlow:发布和主分支有什么区别?

时间:2016-10-06 17:53:20

标签: git git-flow

我刚看了this gitflow cheat sheet。我不理解release分支。

有人可以告诉我releasemaster分支之间的区别吗?

3 个答案:

答案 0 :(得分:10)

一旦您希望在您的发行版中拥有的所有功能都在开发中,而不是“锁定”开发到任何新提交,您将创建将包含您的下一个版本中预期的所有功能的relase分支(而不是在master中)因为你的整个版本应该进行测试,并且可能会有一些bugfix ...)。

  • 在这个分支中,您只有错误修复,文档等...但没有新功能
  • 您的开发分支没有被锁定,因此下一个版本的新功能仍然可以提交/推动开发和测试。
  • 发布分支非常适合部署在暂存/预生产环境中,让QA测试您的发布。
  • 一旦发布分支稳定,您可以将其合并到master中并转到prod。 Master应该始终稳定稳定(如果不是你做修补程序)。

您可以查看这些链接以获得进一步说明:

https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow http://nvie.com/posts/a-successful-git-branching-model/#feature-branches

答案 1 :(得分:10)

不同之处在于目标和过程。当您准备即将发布的版本时,通常会创建release分支。当所有应该发布的feature分支已经合并到develop分支时,您创建release分支develop分支并仅提交错误修复或某些配置更改它。换句话说,你试着让它尽可能稳定。希望release分支足够稳定,然后将其合并回developmaster分支。 master分支的目的是始终拥有可以部署到生产环境的最新稳定版本的项目。您永远不会直接提交到主分支,只能从releasehotfix分支合并到主分支。还可以将CI / CD工具配置为在master分支中的任何更新中部署到生产。

答案 2 :(得分:1)

release之后,release分支将被删除,但是master将保持稳定。