颠覆分支在实践中融合

时间:2013-12-18 21:28:18

标签: svn branching-and-merging

根据SVN book,将功能分支合并回主干的正确方法是:

  • 将当前主干合并到功能分支中并修复功能分支上的任何冲突,测试等
  • 提交功能分支
  • 使用--reintegrate选项
  • 将功能分支合并到主干
  • 提交主干

我尝试过遵循这些说明以及这种更简单的方法:

  • 使用--reintegrate选项
  • 将功能分支合并到主干
  • 提交主干

我看不出这两者之间有任何明显的区别,似乎两种情况下合并的结果是相同的,是否有一些我缺少的东西?

2 个答案:

答案 0 :(得分:3)

  

将功能分支合并回主干的正确方法

这是pre-1.8 Subversion的正确方法,被1.8+淘汰,在1.8+中你刚刚合并分支到trunk(没有被遮挡的--reintegrate选项,reintegration是默认的合并风格)

答案 1 :(得分:1)

最终结果必须相同:在主干和功能分支中发生的所有更改都应该在一个地方结束。

据我所知,本书正在解释功能分支不太短暂的情况,因此它建议定期从主干合并,例如每周一次。这个想法是合并相对较小的变化块,以小剂量分散冲突而不是一个大怪物与许多冲突合并。

如果您从未从主干合并到功能分支,那么我认为采用第二个选项并将功能分支直接合并到主干中是有意义的。我更喜欢这种方式,因为差异中显示的更改是您自己的更改,您在功能分支中执行的操作,因此很容易阅读它们,并且很容易解决冲突。当从主干到功能分支合并时,这些是由其他人改变的,可能对你没有多大意义。