Home > Uncategorized > Mercurial和Git的主要区别

Mercurial和Git的主要区别

1、Mercurial用Python开发,Git用C开发,相对来说,Git比较快,但是Mercurial的性能也不差
2、Mercurial对windows平台支持比较好,而且有一个开发中的TortoiseHg,而且NetBeans内置支持,Git主要还是用命令行,而且对windows不太友好
3、Mercurial核心指令只有10个左右,Git核心指令几十个,全部指令更多了,Mercurial比较简单,也容易上手
4、Mercurial一个目录树就是一个分支,需要使用分支就必须clone一份完整的目录树,这样比较浪费空间,而且使用IDE的时候要为新分支开一个新项目,Git支持本地分支,在一个目录树里面开无限个分支,切换非常方便迅速。这个功能也是我慢慢迁移到Git上的主要原因
5、Git内置对SVN的支持,现在也很多人在SVN repo上使用Git,方便自己的分支开发,当然跟别人合作还是会受到SVN本身的限制,Mercurial有一个第三方的hgsvn,最初的版本还有编码问题,现在已经修正了,但是它只能从SVN导入数据到Mercurial,不能把在Mercurial做的提交导入SVN,作者说未来会制作这个功能,这样就限制了hgsvn的使用,只能作为类似备份的性质

Categories: Uncategorized Tags: ,
  1. April 4th, 2009 at 21:06 | #1

    就我自己的体验,git-svn并不好用啊,尤其多人混用的情况,
    被fast-forward搞得很乱。

  2. Sparkle
    April 25th, 2009 at 10:56 | #2

    git-svn很好用啊,什么是多人混用的情况?多人git-svn,然后还私下git?这样的话,不如索性把svn弄掉然后大家都用git吧。我理解的是就算多人用git-svn,最后还是通过svn来交流的。另外,git-svn回传svn的时候,是应该用rebase的方式而不是merge的方式(是要把多分支拉回单分支)

  3. May 13th, 2009 at 20:39 | #3

    看来说岔了,我说的是用svn作中转,最终以git为准,
    rebase的时候总出问题,导致更新会一遍一遍的提交到git中,
    很乱,不知道错在哪里也.

  4. June 26th, 2009 at 10:22 | #4

    Mercurial分支的问题早就改变了,创建分支,在分之间切换和Git差不多一样方便,
    另外Git的Windows客户端也有了极大的改进,TortoiseGit已经和TortoiseSVN一样好用了

  5. Sparkle
    June 26th, 2009 at 12:18 | #5

    mercurial现在支持分支,不过分支不能随便删除 :(
    本地分支是通过插件实现的
    总体来说,还是不如git

    msysgit现在做的很不错,还有免安装包,解开就能用
    TortoiseGit说实在话一般

    如果什么时候msysgit支持git-svn就好了,不过应该比较难
    因为git-svn依赖subversion和perl

    TortoiseHG成品度高很多,我们已经在团队中使用了

  6. October 9th, 2009 at 14:20 | #6

    hgsvn 也可以提交到SVN了

  1. No trackbacks yet.