V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
shinemoon
V2EX  ›  git

[求教] git相对hg来说的优势究竟在哪里

  •  
  •   shinemoon · 2013-01-17 11:43:26 +08:00 · 10301 次点击
    这是一个创建于 4328 天前的主题,其中的信息可能已经有所发展或是发生改变。
    几年前因为无意中接触到bitbucket, 作为业余玩票编程者就顺手上了hg的船(如果没有记错,当时它金仅仅提供hg的服务),而且一直比较顺手的用到了现在: 平时工作环境是Windows和Linux都会用到。

    但是,现在有意无意的,git的声势似乎远远强于hg,就从V2EX的相关节点热度也看得出来,所以虽然依然hg用的很欢乐,不过很好奇,如果用不那么文档化的语言来描述,git到底优势在哪里?有哪些应用场景下,git可以带来hg没法做到的好处? 或者说就类似Clearcase & SVN之类,个人玩票的话,后者也足够应付了?
    16 条回复    2018-12-05 16:58:12 +08:00
    yegle
        1
    yegle  
       2013-01-17 11:48:49 +08:00
    应该说,github到底有什么优势

    当你使用的绝大多数项目都在用github,你可以方便地fork,并方便地将改动反馈到上游,你就离不开它了。所以开源项目首选host在github上的,其次google code(还是有一部分早期的好项目的),再次是sf(超多的老项目一直没动)。bitbucket?自从它家废掉hg.io域名后就不再考虑了,太不靠谱。

    另外早期hg没有真正的branch,需要打开mq extension才能用。不过已经很多年没用了hg,不清楚现在是否已经默认支持
    feilaoda
        2
    feilaoda  
       2013-01-17 12:02:52 +08:00
    @yegle 现在存放私人代码,还是选择的bitbucket,毕竟免费啊
    开源的基本使用github
    swulling
        3
    swulling  
       2013-01-17 12:10:42 +08:00
    @feilaoda 恩,但是bitbucket支持git后,,,大家就全用git了
    openroc
        4
    openroc  
       2013-01-17 12:39:09 +08:00
    rebase
    openroc
        5
    openroc  
       2013-01-17 12:46:08 +08:00
    lyric
        6
    lyric  
       2013-01-17 12:55:47 +08:00
    ....楼主明明问的是git vs hg又不是github vs bitbucket

    对我来说嘛,git对大体积二进制文件的支持更好
    openroc
        7
    openroc  
       2013-01-17 13:02:14 +08:00
    shinemoon
        8
    shinemoon  
    OP
       2013-01-17 14:03:43 +08:00
    @yegle
    @openroc
    以及其余诸位
    感谢细致回答,也大致读了下材料,似乎:

    1. 技术上,Mercurial feels like a “Git Lite“.这句话似乎粗暴但有点道理;
    2. 生态上,似乎git压倒性的占优势,虽然hg对一两个人规模的toy code已经够用了,但是会不会有一天,如果,只是如果bitbucket挂了,哪里还有靠谱的服务提供商?
    BigZ
        9
    BigZ  
       2013-01-17 16:37:47 +08:00
    无所谓啊,习惯用什么就用什么

    我的个人项目一直用svn呢
    meteor
        10
    meteor  
       2013-01-17 22:12:38 +08:00
    @yegle 支持。
    技术本身不会竞争。但是用这些技术的人和公司之间有竞争。
    sivacohan
        11
    sivacohan  
       2013-01-17 22:26:50 +08:00 via Android
    我觉得吧。。。
    git呼声高,是因为商业运作。
    我觉得把,版本控制器,主要目标就是易用性,这玩意有必要追求性能吗?
    git用c写的,hg是python
    在你提问之前,我一直猜测v2ex上用hg的会不会比git多,理由是可定制性。
    luikore
        12
    luikore  
       2013-01-18 01:53:52 +08:00
    以前用google code还真被hg处理大文件的卡弄得很郁闷过,不知道现在好了没
    bitbucket的免费私有空间好久没碰过了...

    已经不会hg了... 有什么地方可定制性比git好,举个例子?

    p.s. 现在对没注册到gitbucket和bithub这两个域名感到很后悔
    amio
        13
    amio  
       2013-03-18 16:34:21 +08:00
    @luikore bithub还不错,gitbucket有点奇怪
    yegle
        14
    yegle  
       2013-03-27 13:35:51 +08:00
    最近工作需要用了一段时间hg,似乎hg没有纯粹的local branch,任何branch只要在本地commit过,push时就必须要在中心服务器建立同样的分支

    如果确实是这样的话(hg新手,不确定是否确实这样),至少有两种开发模式就没法进行了:
    1. 本地建立分支试错
    2. 本地branch开发,定期merge到develop分支

    用了一下hgflow这个照搬git flow的玩意儿,发现这个模式实在是奇怪,branch一旦commit后就很难删除,重得跟SVN一样,每次建branch都要考虑是不是真的需要。git下的分支就轻很多,不用了可以轻松抹去分支

    另外,用久了之后发现为feature分支想一个合适的名字太难…
    shinemoon
        15
    shinemoon  
    OP
       2013-03-27 16:48:42 +08:00
    @yegle 同新手,作为Branch的确让我有时候也比较困惑...定期merge倒是没问题,关键是怎样drop掉不用的临时branch? 强迫症的本人表示看到那些枝桠很纠结。
    jogin
        16
    jogin  
       2018-12-05 16:58:12 +08:00   ❤️ 1
    git,svn,hg 都使用过。
    hg 是我使用过最垃圾,最难用的 SCM 工具,极其笨重,功能不健全,分支管理非常不方便,分支线路错综复杂,经常 crash。我实在不明白这种玩具一样的破烂玩意,竟然也能跟 git 相提并论,并且还会有公司在内部推广使用,个人认为不论是私人工程还是团队工程都应该避免使用 hg,因为你在使用之后就会发现,日常跟 hg 耗的功夫就会占用你 70%的时间。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1090 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 23:36 · PVG 07:36 · LAX 15:36 · JFK 18:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.