Bra*_*ery 6 svn git dvcs branching-and-merging
可能重复:
合并:hg/git与svn
我听说/读过Git和DVCS一般比Subversion和集中版本控制系统好.我听到的原因之一是DVCS中的合并比集中式系统好得多.
合并时两者有什么区别?例如,当您重新集成分支时,是什么让Git比Subversion更好?
事实并非如此,因为它们是分布式的,而是更多的是它们跟踪变更集而不是版本.(但是,分布式系统通常使用变更集,而集中式系统通常使用版本;这是因为分布式系统不能使用基于版本的方法,而集中式系统可以使用它).
Subversion说,好吧,首先我有这个版本然后我有那个版本.然后在合并的时候,它需要两个版本,比较它们,并对如何组合它们做出有根据的猜测.Git,mercurial和类似的SCM,比如说,好吧,首先我没有任何东西,然后有人做了这个改变然后其他人做了这个改变,等等.当它合并时,基本上他们需要做的就是应用正确的改变订购,在这里和那里纠正行号并考虑文件重命名,但基本上就是这样.
Subversion实际上没有足够的信息来执行智能合并:它只看到差异,而不是它们来自何处.