我已经在Windows上使用git有一段时间了(使用msysGit),我喜欢分布式源代码控制的想法。就在最近,我一直在关注Mercurial (hg),它看起来很有趣。然而,我无法理解hg和git之间的区别。

有人把git和hg放在一起比较吗?我很想知道hg和git有什么不同,而不需要加入粉丝的讨论。


当前回答

在bitbucket.org的mercurial和github的git之间需要注意的一件事是,mercurial可以有尽可能多的私人存储库,但github你必须升级到付费帐户。所以,这就是为什么我选择使用mercurial的bitbucket。

其他回答

当涉及到处理分支(特别是短期分支)时,有相当显著的差异。

本文(BranchingExplained)对Mercurial和Git进行了比较。

去年的某个时候,我评估了git和hg供我自己使用,并决定使用hg。我觉得它看起来是一个更干净的解决方案,并且在更多的平台上工作得更好。不过,这基本上是一个未知数。

最近,我开始使用git,因为git-svn和充当Subversion客户端的能力。这征服了我,现在我完全换成了git。我认为它的学习曲线略高(特别是当你需要探究内部时),但它确实是一个很棒的系统。我要去读约翰发表的那两篇比较文章。

以下文章可能会有所帮助:

Git vs Mercurial:请放松(Git是百战天龙,Mercurial是詹姆斯·邦德) Mercurial和Git的区别

编辑:把Git和Mercurial比作名人似乎是一种趋势。这里还有一个:

Git是Wesley Snipes, Mercurial是Denzel Washington

最大的不同在于Windows系统。Mercurial是本地支持的,Git不支持。你可以通过bitbucket.org获得与github.com非常相似的托管(实际上更好,因为你得到了一个免费的私有存储库)。我曾经使用过一段时间的msysGit,但后来转到Mercurial,我对它非常满意。

如果从SVN迁移,请使用Mercurial,因为它的语法对SVN用户来说更容易理解。除此之外,任何一种选择都不会错。但是在选择之前一定要检查GIT教程和HGinit。