什么是专业人士和Git和Hg版本控制系统的缺点?

时间:2009-06-02 02:29:36

标签: git tfs version-control mercurial

我现在有条件选择哪个版本控制系统,所以我想从使用过这些版本的经验开发人员那里得到一些评论。 我应该使用哪一个以及在什么条件下?

6 个答案:

答案 0 :(得分:8)

Google Code最近为他们的系统选择了Mercurial而不是Git。在他们的分析中,他们发现了Mercurial

  • 有一个更容易学习的曲线
  • 获得了良好的Windows支持
  • 更容易维护
  • 通过HTTP跑得更快

请参阅http://code.google.com/p/support/wiki/DVCSAnalysis

答案 1 :(得分:5)

请记住,Git和Mercurial都是DVCS(分布式版本控制),它与中央VCS完全不同。请参阅core concepts SO问题以获得差异。

否则,您也可以参考Eric Weblog,其中“Git is Wesley Snipes. Mercurial is Denzel Washington”;)

  

我选择Bazaar和Git来体验。但如果我选择DVCS作为普通用户,我会选择Mercurial。 [...]
  人们钦佩丹泽尔华盛顿。但Wesley Snipes更有趣。

就个人而言,我发现Git在分支和存储库克隆方面更直观,但Hg在Windows上有更好的支持(尽管我非常满意msysgit

另见"Difference between Git and Mercurial" SO问题,特别是:
Git is MacGyver and Mercurial is James Bond”;)

答案 2 :(得分:2)

两者都非常强大和多功能。查看同事和上游项目正在使用的内容,因为使用相同的VCS可以简化协作。

作为一名开源开发人员,您将不可避免地与所有常用的VCS联系。查看各个项目选择的系统可能会有所帮助。 Python,Mozilla,OpenJDK是Mercurial用户。许多较小的项目使用Git,尤其是在Web空间中。当然,如果你正在做内核,你会想要使用Git。

我将Git用于我的软件项目以及版本我的文档,我对它的健壮性和可用性,易于分支和合并等非常满意。

Mercurial(我个人经验有限)具有更好的可移植性(Windows等)。

答案 3 :(得分:2)

GitHub最近发布了Hg-Git的测试版,旨在无缝弥合这两个版本控制系统之间的差距:

  

这是Mercurial的Hg-Git插件,增加了从Hg 推送到Git服务器存储库的能力。这意味着您可以从Hg协作开发基于Git的项目,或者使用Git服务器作为开发人员同时使用Git和Hg的团队的协作点。

凭借Mercurial和Git中强大的后端数据存储,我认为这两个竞争版本控制系统之间的界限在不久的将来会变得非常模糊。

答案 4 :(得分:0)

公平地说,我对Git的经验有限,没有Hg的经验,但有一点我想念svn,perforce等几次我使用它是一个很好的低整数修订号,我可以向其他开发人员报告。

否则,Git非常棒;它简化了分支,我使用了很多,可以脱机使用,这在我的笔记本电脑上进行开发时非常好。

此外,Github =太棒了。

答案 5 :(得分:0)