0

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

我们的分支模型由以下部分组成(按此顺序):

  • 硕士/生产
  • 质量保证
  • 系统测试
  • 发展

到今天为止,我们首先将更改应用到开发和使用樱桃采摘到上面的下一个分支,即系统测试。然后我们再次对 QA 进行 Cherry Pick 并进行彻底的测试。更改不一定会交给 Master,因为某些更改可能会被搁置或推迟。

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

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

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

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

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

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

4

1 回答 1

1

一个成功的 git 分支模块可以参考。我们通常从开发中签出功能分支。你也可以关注它。

  • 从开发中签出功能分支。
  • 将功能分支合并到系统测试分支。
  • 将系统测试分支合并到 QA 中。
  • 当 QA 团队准备好并通过后,将 QA 合并到主/生产中。

它比樱桃采摘更有效。您还可以保留功能分支中的一些更改。

于 2017-03-13T13:16:36.753 回答