可能重复:
Merging: hg/git vs. svn
我听说/读过Git和DVCS一般比Subversion和集中版本控制系统好。我听到的原因之一是DVCS中的合并比集中式系统好得多。
合并时两者有什么区别?例如,当您重新集成分支时,是什么让Git比Subversion更好?
答案 0 :(得分:5)
并不是因为它们是分布式的,而是更多的是它们跟踪变更集而不是版本。 (但是,分布式系统通常使用变更集,而集中式系统通常使用版本;这是因为分布式系统不能使用基于版本的方法,而集中式系统可以使用它)。
Subversion说,好吧,首先我有这个版本然后我有那个版本。然后在合并的时候,它需要两个版本,比较它们,并对如何组合它们做出有根据的猜测。 Git,mercurial和类似的SCM,比如说,好吧,首先我没有任何东西,然后有人做了这个改变然后其他人做了这个改变,等等。当它合并时,基本上他们需要做的就是应用正确的改变订购,在这里和那里纠正行号并考虑文件重命名,但基本上就是这样。
Subversion实际上没有足够的信息来执行智能合并:它只能看到差异,而不是它们的来源。
答案 1 :(得分:3)
Linus torvalds就git做了一个谈话,available on youtube值得关注。在其中,他驳回了所有源代码控制解决方案,但git,然后解释了为什么git很棒。
就我个人而言,我发现git令人沮丧地与我达成协议,我每天都专业地使用SVN。我认为svn足够快,并且可以进行分支和扩展。合并得足以满足我的需求。
但我不是源控制专家!