我的目标是建立一个这样的结构:
Project X
-- Main
-- QA
-- Dev
-- Feature X
理想情况下,在处理新功能时,我想分支“主”主干并创建一个新的“Dev / Feature X”分支。一旦我准备好测试功能,我想使用合并工具将“功能X”移动到“QA”。一旦完成并测试,就从“QA”分支开始。一旦这是真的,我想从“QA”合并到“Main”。
这可能吗?我喜欢这样做而不进行毫无根据的合并。我不确定如何构建分支以实现此解决方案。
答案 0 :(得分:3)
是的,这是可能的。
您将Main
分支到QA
,然后将QA
分支到Feature X
,Feature Y
等。
然后,开发人员在Feature
分支中编码,当功能完成时,将功能分支中的代码合并到QA
分支。同样重要的是让开发人员定期从QA
反向集成到他们的功能分支,以确保所有最新的更改都存在并在他们的开发分支中工作。
在QA分支中完成并测试发布后,将其合并回Main
,然后(如果需要)将分支Main
合并到Release
分支。
在这种情况下,Main
应该始终代表经过严格审核的可交付代码 - 您 发布的代码或您 的代码航运。没有人永远修改Main
而不通过(至少)QA
分支。
基本上,您缺少的部分是您的代码应始终通过QA
分支。我通常将其称为“集成”分支而不是“QA”,但目的是相同的。
ALM游骑兵有一个awesome branching/merging guide - 我强烈建议您阅读它!