你知道关于版本控制系统(git / mercurial / svn / cvs)的一篇好的pro / con论文吗?

时间:2010-07-11 17:52:48

标签: version-control

似乎很难找到关于这些版本控制系统的优缺点的好参考。

如果有人能够制作一篇简短而又整洁的论文,请将其镜像并在此发布,我认为很多人会不那么困惑。

我应该使用什么版本的控制系统?我认为这取决于项目和工作人数。 然而,有一些普遍接受的事实,例如:Git是最快的,CVS是稳定和测试的,SVN很简单,Mercurial似乎更友好。

此外,该论文应提供证据,与每项陈述的基准和解释相关联。

我写过stackoverflow,因为这里的大多数读者都应该是有经验的程序员,知道在哪里可以获得适当的贡献,甚至可以写论文(这很棒)。

注意:这个问题不是关于一个工具相对于另一个工具的相对优点(关于这些主题有很多帖子),而是关于可以用来区分它们并用于为您的项目选择一个的客观标准。

4 个答案:

答案 0 :(得分:5)

Martin Fowler在他的bliki上:

http://martinfowler.com/bliki/VersionControlTools.html

答案 1 :(得分:4)

当谈到它时,“哪个vcs适合我”是一个非常主观的问题,它取决于工作流程需求的参数,项目需求以及团队的一般风格。

如果您正在寻找每个VCS的经验特征比较的详细信息,请查看以下图表:

http://en.wikipedia.org/wiki/Comparison_of_revision_control_software

实际上,除此之外的任何内容都是主观意见 - 即使你进行经验测试,你会得到的最好的是一组不同的比较,指出一个VCS在给定区域中表现优异而另一个在不同区域中表现出色一。你如何根据重要性对这些领域进行排名取决于你。

答案 2 :(得分:3)

来自Google的DVCSAnalysis是一个好的开始 (好吧,Scott Chacon, Git champion one of the guys behind GitHub,在评论中不同意:

  

此分析已过时,实际上在发布时已过时。查看我的comments on ycombinator about it
  我的观点是Git和Mercurial在几乎所有方面都优于SVN / CVS - 我认为几乎所有以任何有意义的方式使用这两个系统的开发人员都会同意。

     

对于Git / Hg来说,它们在很大程度上具有可比性,但两者都是不错的选择,尽管Git似乎有一点市场份额优势,FWIW。

关于该市场份额的任何来源/参考资料,Scott?
也许在社交编码协作网站中声明的回购/用户数量?

除此之外,我还写了一些关于这个主题的一般性帖子:

那些SO答案可能不是“特定于工具”,但至少可以指向那些版本控制系统提供的相关功能。

在基准测试方面,您有interesting question from Jakub Narębski网络基准测试以及his answer for Git
这可能过于“以Git为中心”,但也可以在决定您希望为项目使用何种版本控制工具时提出正确的问题。

答案 3 :(得分:0)

如果你想了解Git,Google的Linus Torvalds TechTalk非常好1。 它(当然)非常专业,反对任何其他东西,但它看起来很有趣。

相关问题