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

2013-01-17 11:43:26 +08:00
 shinemoon
几年前因为无意中接触到bitbucket, 作为业余玩票编程者就顺手上了hg的船(如果没有记错,当时它金仅仅提供hg的服务),而且一直比较顺手的用到了现在: 平时工作环境是Windows和Linux都会用到。

但是,现在有意无意的,git的声势似乎远远强于hg,就从V2EX的相关节点热度也看得出来,所以虽然依然hg用的很欢乐,不过很好奇,如果用不那么文档化的语言来描述,git到底优势在哪里?有哪些应用场景下,git可以带来hg没法做到的好处? 或者说就类似Clearcase & SVN之类,个人玩票的话,后者也足够应付了?
10337 次点击
所在节点    git
16 条回复
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
2013-01-17 12:02:52 +08:00
@yegle 现在存放私人代码,还是选择的bitbucket,毕竟免费啊
开源的基本使用github
swulling
2013-01-17 12:10:42 +08:00
@feilaoda 恩,但是bitbucket支持git后,,,大家就全用git了
openroc
2013-01-17 12:39:09 +08:00
rebase
openroc
2013-01-17 12:46:08 +08:00
lyric
2013-01-17 12:55:47 +08:00
....楼主明明问的是git vs hg又不是github vs bitbucket

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

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

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

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

p.s. 现在对没注册到gitbucket和bithub这两个域名感到很后悔
amio
2013-03-18 16:34:21 +08:00
@luikore bithub还不错,gitbucket有点奇怪
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
2013-03-27 16:48:42 +08:00
@yegle 同新手,作为Branch的确让我有时候也比较困惑...定期merge倒是没问题,关键是怎样drop掉不用的临时branch? 强迫症的本人表示看到那些枝桠很纠结。
jogin
2018-12-05 16:58:12 +08:00
git,svn,hg 都使用过。
hg 是我使用过最垃圾,最难用的 SCM 工具,极其笨重,功能不健全,分支管理非常不方便,分支线路错综复杂,经常 crash。我实在不明白这种玩具一样的破烂玩意,竟然也能跟 git 相提并论,并且还会有公司在内部推广使用,个人认为不论是私人工程还是团队工程都应该避免使用 hg,因为你在使用之后就会发现,日常跟 hg 耗的功夫就会占用你 70%的时间。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/57868

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX