哪个分支策略有多个分支使用Git?

时间:2017-03-13 09:46:17

标签: git version-control branching-and-merging branching-strategy

对于Git而言,我们对于使用具有多个分支的分支设置是相对较新的,即不仅仅有一个分支然后应用功能分支。

我们的分支模型包括以下内容(按此顺序):

  • 硕士/制作
  • QA
  • 系统测试
  • 开发

截至今天,我们首先对开发应用更改以及何时使用Cherry Picking进行上一个分支,即系统测试。然后我们再次对Cherry Pick进行质量检查并进行彻底测试。由于某些更改可能会被暂停或延期,因此更改可能不一定适用于Master。

使用Cherry Picking对我们来说很麻烦,特别是如果改变很久并且包含许多提交。由于自动合并可能会失败,因此还存在破坏代码的风险。由于源代码也包含二进制数据,因此自动合并也很困难。

我们希望简化应用更改的步骤。从以前的项目中,使用功能分支一直是使这更容易的方法。我们在如何应用此方法方面很困难,因为要考虑多个分支,并且某些更改可能不一定会达到Master。

我将尝试解释我们如何在设置中使用Git:

创建更改:首先从Master创建功能分支。任何更改都会推送到该功能分支。此功能分支只能与Master合并。

将更改应用于分支:功能分支合并到任何主分支中,但首先是开发,然后是系统测试等。功能分支可能会被用于QA,但不一定掌握。某些功能分支可能与以后的更改有关,可以暂停更长时间。

哪种策略最适合使用Git的分支模型?我们如何才能以最佳方式使用Git来实现它的使用方式。

1 个答案:

答案 0 :(得分:1)

您可以参考a successful git branching module。我们通常从开发结账功能分支。你也可以关注它。

  • 结帐功能分支来自develop。
  • 将功能分支合并到系统测试分支。
  • 将系统测试分支合并到QA。
  • 当QA团队准备好并通过时,将QA合并到master / production。

它比樱桃挑选更有效率。您还可以在功能分支中保留一些更改。