两个分支经过长期的隔离发展已经产生了生殖隔离(雾)
强行撮合它们的后果就是
1 无法产生后代:自动合并失败
2 产生无法生育的后代:全是不可思议BUG,无法继续推进项目,但是功能的整合使得其某些方面的能力得到提升
所以为了让他们合在一起,要想办法篡改历史,把变化一个接一个的合并进去,仔细处理,而不是一口气搞进去。
至于svn和git,我觉得他们俩在这个方面最大的差别应该是创建分支的代价,而不是合并的简易程度。
其实我觉得代码合并还是谁污染谁治理比较好,很难有人会比代码作者更了解自己的代码,在PR被merge进去前让代码作者自己处理冲突是最方便的。
Gir的软文有夸大的成分……
当:
两个分支之间的代码已经千差万别,有些代码段甚至是排他性修改
没有什么东西能让合并成为一件简单的事情。
诚然,SVN在设计之初是没有将合并分支考虑在内的,但是SVN也并非像那些文章所说的无法记录合并记录。如果你正确的操作SVN,那么合并记录是会记录在SVN属性里面的。但这些都无法解决两个独立发展很长一段时间的分支的合并,Git从数据结构上更好的支持了分支合并,但我们都知道合并的麻烦程度总是取决于冲突的数量……