对于Git来说,我们相对较新,它使用分支设置和多个分支,即不只有一个分支,然后应用功能分支。使用Git的多个分支有哪些分支策略?
我们的分支模型由以下(按照这个顺序)的:
- 主/生产
- QA
- 系统测试
- 发展
截至今天,我们首先将更改应用于开发,并在上面的分支中使用Cherry Picking时,即系统测试。然后,我们再次对质量保证部门进行樱桃挑选并进行彻底测试。师傅可能不一定会有变化,因为有些变化可能会被搁置或推迟。
使用樱桃挑选对我们来说很麻烦,特别是如果变更是旧的并且包含许多提交。由于自动合并可能会失败,因此也存在破坏代码的风险。由于源代码也包含二进制数据,因此自动合并也很困难。
我们希望简化应用更改的步骤。从以前的项目中,使用功能分支一直是使这个更容易的方法。我们正在努力应用这种方法,因为有多个分支需要考虑,并且一些变化可能不一定会达到Master。
我会试着解释,我们想怎么使用git与我们的设置:
创建一个变化:一个特性分支首先从主创建。任何更改都会推送到该功能分支。这个功能分支只能从Master合并。
将更改应用到分支:将功能分支合并到任何主分支中,但是先开发,然后是系统测试等。功能分支可能被遗漏到QA,但不一定是Master。某些功能分支可能与以后的更改有关,并可能被搁置较长时间。
哪种策略最适合使用Git的分支模型?我们如何以最好的方式使用Git来实现它应该如何使用。