【发布时间】:2017-07-16 12:23:06
【问题描述】:
我正在尝试为我们公司提出一个新的分支战略,我想知道是否有任何我没有考虑到我提出的边缘情况。
首先,这是我们当前的分支策略:
每个团队都有自己的开发分支,团队 1 和 2 非常小,因此他们没有像团队 3 那样的单独 QA 环境。每个团队将他们的更改合并到主分支并返回到他们的开发分支。
目前我在 Team 3,我要替换的策略专门在 Team 3 的部分下。我们正在挑选从 Main 到 INT 到 QA 到 Dev 的变更集,然后一路备份。没有完整的分支合并,我开始相信我们所做的每次合并都是毫无根据的合并,因为我们只是挑选。
我正在尝试做的是消除不断挑选变更集并返回合并整个分支的需要,这是我想出的:
对于长期运行的功能,我们将创建功能分支,而 dev 将主要用于处理旨在在下一个版本中投入生产的错误和用户故事。
QA 分支没有进行任何开发,我们只会在 DEV 准备好进行测试时将更改合并到 QA。
一旦所有的测试都通过了,我们将合并到 Main 并为下一个版本创建一个脱离 main 的版本分支。版本分支将允许我们有一个干净的分支来执行修补程序,因为我们有多个团队合并到 main。
希望尽可能多地利用功能分支和搁置集,以消除挑选变更集的需要,并希望减少我们目前遇到的疯狂合并冲突。
这看起来是一个合理的策略吗?
【问题讨论】: