"整合分支"的目的是什么?

Ben*_*Ben 17 git git-branch

如果分支策略由n个特征分支组成,则为"主"(主线)和"集成"分支.集成分支的目的是什么?为什么不能在功能分支本身上执行测试和集成?

Mar*_*tos 19

因为它是一个功能分支.它应该只包含与一个功能相关的更改.在最终推送到master之前,集成分支是将多个功能组合在一起进行测试的地方.

当然,你不要分离的东西这样.您可以在功能分支上进行集成,就像您可以在master上完成所有工作一样.但关注点分离是一件好事.


Han*_*etz 8

更具体地说明为什么"分离是好的":集成分支的目的是确定新功能是否不仅可以单独工作,还可以与其他新功能结合使用.这意味着它们可能不会,这些功能可能会导致需要一段时间才能解决的冲突.

但是,您仍可能希望开始将新功能的子集部署到主线分支,因此您不会阻止所有功能,因为它们之间存在不兼容性.

现在,如果您已经将功能分支合并到一起,那么您将很难将它们分别合并到主线中.这并非完全不可能,但这肯定是一个麻烦(我已经尝试过).

如果您的功能分支包含主要代码,或者如果它们在正在处理的代码区域方面显着重叠,您甚至可能希望进一步采用这个想法,并在将它们合并到其他任何地方之前使用集成两个功能的分支,包括全球整合分支,即具有多层次的整合.当然,这通常不是一个理想的情况,但是你可能无法避免它,如果你对集成分支很慷慨,那么产生的冲突可以更容易解决.