近年来,围绕Git的大肆宣传。每个人都知道Git,没人知道替代品。

其他类似Mercurial的东西似乎没有引起注意。两者均于2005年发布,并提供类似的功能。而且,通常认为Mercurial更易于使用,更直观,并且长期以来具有更好的UI。因此,可以假定这将是一种流行的替代方法,特别是对于那些新的分布式版本控制。但是,对于大多数人来说似乎并不为人所知,与Git取得了不错的成功不同。

这篇文章的目的是试图更好地理解这种现象。

Git会如何发展蛋糕的全部?他们是否以某种方式使用了更好的营销?是因为它的社区更……糟糕……“冗长”吗?是因为“ Linus”这个名字吗?是因为它的怪异形象吗?

您如何看待?

评论

您可能对Linus Torvalds是其受欢迎的唯一原因是正确的...

我不知道,我觉得他们被暴露给我的量大致相等...尽管我在hg之前听说过git。但是,是的,托瓦尔兹(Torvalds)是名人,因此他所参与的任何事情都可能引起人们的注意。

我喜欢GitHub ...就这样

@jrwren,我将以说我没有使用过Git或Mercurial来开头此评论。如果我要学习Git,然后立即学习Mercurial(或反之亦然),其中之一可能会减少我的学习时间。那个花了更少时间的那个是我认为更易于使用的那个。 Grokking通常意味着需要花费一些时间来理解,因此很难使用。我并不是说这会使产品变得更糟,有时您需要更陡峭的学习曲线才能使用功能更强大的工具,但这肯定会改变易用性。

@MarkTrapp上帝,马克!看起来每个人都在进行很好的讨论,然后您必须走出来并警告每个人。我希望我知道像StackOverflow这样的站点可以进行讨论。

#1 楼

我相信GitHub或Gitorious之类的服务是一个很大的因素。对于人们来说很重要的一点是,他们可以在某个地方托管他们的东西,尤其是GitHub是为此提供的很棒的服务。

对于mercurial,当DVCS流行时,就没有这样的服务(至少我没有意识到)。 。您现在拥有Bitbucket,也许还有其他人,但是GitHub已经存在了很长时间,它是众所周知的,并且越来越好。

评论


除此之外,一些大型开源项目使用git来为您做出决定。我被“强制”多次使用git(例如,对于android),但我没有被强制使用Mercurial或Bazaar。另外,我认为git很棒:)

–FeatureCreep
2011年7月29日在10:45

还有Google Code和SourceForge for hg

–配置器
11年7月29日在11:32

Github推动了Git的发展,Github将其他存储库置于阴影之下。 Bitbucket具有一些优势(免费的私人存储库),但与Github相比,UI较差

– iandotkelly
2011年7月29日15:10

我单独使用Mercurial与GitHub交流... hggit插件(hg-git.github.com)使该工具与社区脱钩成为可能。但也许不是来自社区工具。

–bpanulla
2011年7月29日15:29



CodePlex也支持Mercurial。

–格兰特·佩林
11年7月29日在16:57

#2 楼

我看到很多答案,这取决于作者在听到一个或另一个SCM时的感受。其他人则说这全是运气。我相信运气可以追溯到历史。

我将谈论历史。

Git和Mercurial是同时创建的,目的是解决同一问题。那时,Linux内核被迫停止使用BitKeeper,它是专有的分布式SCM,已经使用了3年。原因是BitKeeper背后的公司BitMover的首席执行官Larry McVoy停止向Linux开发人员免费提供他的软件,因为Linux社区内部有人对其进行了反向工程。

Linus Torvalds对已经存在的问题不满意,随后开始研究一种全新的SCM,他很快将其称为Git。此后不久,Matt Mackall出于类似原因启动了Mercurial项目。

一段时间后,分别开发了这些项目,Matt Mackall展示了他的SCM的高级版本,并以某种方式对其进行了基准测试,并将其与Git进行了比较(本身只有几周大)。 Linus考虑使用它而不是Git进行内核开发,但是当他意识到Mercurial正在使用Changesets记录修订版本时放弃了这个想法。他担心这太接近BitKeeper的工作方式了,他当然不希望有什么能让人说:“他们构建了BitKeeper克隆”。

因此,Git被用于内核开发。 Mercurial,但两者在技术上都相关。最终结果是,Git最初是在设计要使用的地方实际使用,而Mercurial并没有很快找到它的第一个大型FOSS用途。因为它具有出色的设计,而且由于Matt Mackall的坚持不懈,它最终成名并被用于大型的现实项目。

今天,他们都很有名。哪一个最著名是不可能说的。 Google Code直到最近才集成了Git,而Mercurial则由来已久。

我想说的是,当您开始一个项目的根本原因消失时,很难获得人气,但仍然可行。 >
Bazaar是另一个在GNU世界中非常有名的SCM,但除此之外,它并不多,因为它是为了满足GNU社区而建造的。软件通常可以到达其创建者想要去的地方,而不会走得更远。另一方面,分布式SCM显然是赢家。我看不到有很多用途广泛的非分布式SCM。

评论


我非常感谢这段历史。

– jrwren
2011年7月29日在14:54

@TMN你是对的!实际上,当安德鲁·特里杰(Andrew Tridgell)的逆向工程曝光后,当拉里·麦克沃伊(Larry McVoy)更改了BitKeeper的许可时,发生了太多的火焰大战,莱纳斯·托瓦尔兹(Linus Torvalds)决定放弃它,并给了自己一周的时间来寻找替代者。当时,真正的竞争对手是Monotone,但速度缓慢。许多人同时制造替换件,每个人都很高兴使用新工具。我认为Git首先达到1.0,然后是Mercurial;集市花了将近两年的时间。

–萨迪·泰尔(Thaddee Tyl)
2011年7月29日在15:22

“我看不到有很多用途广泛的非分布式SCM。”这取决于您所在的行业。 Perforce,ClearCase和svn仍被广泛使用,在开源世界中使用的很少(除了svn)。哦,是的,Windows商店中的Visual Source Safe和MS Team随便什么。

–鲍勃·墨菲(Bob Murphy)
2011年7月29日在16:40

“逆向工程”是指远程登录服务器并输入“ help”

–替代
11年7月29日在20:07

对于DVCS和CVCS,我通常会这样说:“所有软件都由Tao参与,不应该受到嘲笑。” “包括Redmond的软件吗?” “哦,天哪,看看时钟。班级开除。”

–鲍勃·墨菲(Bob Murphy)
11年7月29日在21:05

#3 楼

Linus Torvalds

Linus是Git的拥护者,多年来一直大力提倡Git成为核心linux小组,并且此后逐渐发展壮大。我敢说这完全是由于Linus对* nix社区的影响。

我个人仍然使用Subversion,但这是出于喜好而非效用。

评论


我个人认为Linus并不像Linux那样具有巨大的知名度-您几乎可以告诉没有DVCS(甚至一般的软件开发)知识的人,比起“用于Linux的人”,它更有可能提供信誉。 Linux内核”。

–迈克尔·伯格沃德(Michael Borgwardt)
11年7月29日在9:23

他不仅是它的大力提倡者,而且还是他将其移交给Junio Hamano之前创建它的原始版本的人。

– Marco Ceppi
11年7月29日在11:02

什么?为什么您更喜欢Subversion?

–配置器
11年7月29日在11:31

您是否不是说您仍然出于习惯和惯性而不是偏好或效用来使用Subversion?这就是为什么我仍在使用它,我也怀疑我们大多数人...

–科迪·格雷
2011年7月29日13:16



@deadalnix:因为Linux和Linux有成群的尖叫的狂热者,这是任何其他开源项目所无法比拟的。对于Git,他们是一支非常有效的街头团队。

–汤姆·安德森(Tom Anderson)
11年7月29日在16:55

#4 楼

版本控制系统通常的痛点是分支合并。

当它不起作用时,您需要尝试一下它,以了解它会带来多大的痛苦以及使其工作有多么重要,以便

得知Linus Torvalds编写了git来做到这一点,并且据称在一种情况下他使用git一次将十二个分支合并在一起,这是一个非常令人信服的论点

大约一年前,我不得不在hg和git之间进行选择,而上述合并是选择git的重要因素。第二个原因是Eclipse组织改用git,因此Eclipse工具有望用于Java项目。随着Eclipse 3.7的发布,这种情况发生了。也许我们早了6-9个月。

对于不同的需求,汞可能同样有用。 Sun经过非常仔细的调查,将其用于VCS。您可能想要查找白皮书,并查看其依据。


编辑:注意,我并不是说Mercurial不能做任何事情,只是对于使用Eclipse的Java-这是我们的主要重点-目前,即使在Windows下,git的市场力量也是最强的,我们需要站在别人的肩膀上,而不是他们的脚上。

评论


+1全部在分支中。该分析讨论了与水银相比git的合并能力。

–阿梅里奥·巴斯克斯·雷纳(Amelio Vazquez-Reina)
11年7月29日在12:21



@AmV:请不要发布混淆的URL。

–科迪·格雷
11年7月29日在13:16

AmV链接:felipec.wordpress.com/2011/01/16/…

–user1249
2011年7月29日13:30

我不确定我是否明白你的意思。您是说他们同样擅长分支(Git做Mercurial无法做的事情),但是因为您需要良好的分支,所以选择了Git?

–杰夫
2011年7月29日14:26



我从未见过任何令人信服的例子,说明Git如何比Mercurial更好地进行合并,当然在这个答案中也没有。几乎就像您将Hg与SVN或CVS混淆了一样。

– Aaronaught
2011年7月29日14:37



#5 楼

我不打算说为什么git或mercurial更好,也不说它是受欢迎的唯一原因,而是将重点放在社区上。

正如我之前强调的那样,Git社区非常响亮和傲慢。大多数人将大力捍卫自己的宝贵程序。我见过的大多数Git与Mercurial战争都是由git人开始的,他们想知道为什么地球上的每个人都没有使用圣洁的git。诸如whygitisbetterthanx.com之类的网站甚至在引言中也显示了这种傲慢,这是写给其他人的诱饵。

我并不是说每个人都是这样,而是在大多数情况下遇到git人员,支持git的网站和支持git的博客,我觉得git像是被挤了下来,而不是作为可行的DVCS系统提供。


相反,其他DVCS社区不是不那么响亮。我不知道Mercurial的存在,直到看到“什么是最好的DVCS?”关于SO的问题。虽然git随处可见,但其他DVCS却需要时间才能找到。

评论


难道不是称别人为傲慢吗?

–user1249
11年7月29日在9:57

@Thorbjørn:是的。除了我什么时候做;那是正确的。

–汤姆·安德森(Tom Anderson)
11年7月29日在10:05

我认为您对git过敏了。我已经阅读了为什么选择whyitisbetterthanx的介绍及其一些内容。我没有看到任何傲慢或挑衅的东西。它只是正常偏见,任何旨在促进某件事的东西都有。

–back2dos
11年7月29日在10:19

@ back2dos:这很自大,因为它声称“ Git比一切都好”。在其大量支持性论证中,要么是错误的,未经纠正的,要么是被划掉了,但它以某种方式永远不会改变他们的结论。

–杰夫
11年7月29日在14:52

@Agos:几乎所有这些都不是Git独有的。他们只是移动球门柱,以排除其他产品。

– Aaronaught
11年7月29日在15:59

#6 楼

我认为Mercurial并不是特别低调。 Kiln建立在Hg之上,并且一段时间以来在Eclipse和Netbeans等IDE中都提供了良好的支持。

与我交谈的大多数开发人员似乎更喜欢Hg,因为它们对Windows的支持更好。如果我们是Linux开发人员,那么情况可能会不同。

您还缺少“ Bazaar”,这才是真正的“被遗忘的DVCS”。

当然,我同意Linus他是一个非常有魅力的人,而且几乎没有平等的书呆子书呆子,因此很多人会选择Git。此外,Git的“创造神话”非常令人信服,Linus辛苦工作了6天来创建Git并停留在第七个-或类似的东西上。当产品具有令人难忘的故事时,更容易吸引人。

评论


...完全同意:“集市”是真正的“被遗忘的DVCS”。

–达涅利
2011年7月29日在8:37

同意,但是窑/乔的汞暴露比莱纳斯的git暴露要新。 hg正在追赶

– jk。
11年7月29日在12:20

实际上有很多“被遗忘的DVCS”,尽管其中许多可能被更好地描述为“低调”,“专注”或“利基”。

–小约翰·盖恩斯(John Gaines Jr.)
11年7月29日在15:34

#7 楼

这是一个愚蠢的看法,但是git可能会因为两个参数而得到所有这些炒作:


它非常有效
使用起来很有趣(以某种非常特定的计算机科学家的方式)

另外,git有一些像github这样的杀手级应用,并且一些非常受欢迎的项目决定使用它,这给了它很大的知名度。

评论


1.在某些地方水银效率低下吗?实际上,很长一段时间以来,它在http上的效率更高,这就是为什么Google代码将它包含超过2年以来的原因,而与上周宣布的git支持相比,最近才在http上变得同样好。 2. OK 3.有一个等效的bitbucket.org

–达涅利
2011年7月29日在8:34

我是说水银效率低下吗?我没用过,所以我可以说出来。

– Thibault J
2011年7月29日在8:51

这根本无法解决问题,恕我直言,至少没有解决“而其他没有”的问题

– jk。
11年7月29日在9:51



Mercurial无法将“空文件夹”添加到存储库中(如果现在已解决,则不知道),但是当我不得不选择DVCS时,最终我为此选择了git。我需要一些空文件夹。

– Martin Marconcini
11年7月29日在11:33

@MartínMarconcini“我最终为此目的而使用git”是什么意思? git也不支持空文件夹。

– Max Nanasy
13年8月8日在2:48

#8 楼

这里有三个因素在起作用,“ beta极客媒体”,“时间合适”和“跟随领导者”

Beta Geek Media

讨论“怪异活动”的渠道。他们当然会介绍新版本控制系统的外观,但会介绍更多git。为什么?因为莱纳斯·托瓦尔兹(Linus Torvalds)最初是写它的,后来才公开辩论,并以此作为他广为宣传的关于位管理者问题的解决方案。实际上,每当对lkml发生战争时,beta极客媒体都会写一篇有关它的文章。 Git的讨论从lkml开始,因此它比其他替代品有更多的报道。那些喜欢slashdot之类的beta极客将它吃了。最终的结果是git的文章数量是mercurial的十倍。

现在是时候了

有很多贡献者的大型开源项目在集中式源码方面存在问题控制。随着开源的发展,项目变得越来越有可能有许多贡献者,问题变得更加严重。 Linux可能是受此影响最广为人知的项目,但还有许多其他项目。随着许多项目达到这一点,需要某种高级VCS。 Git,Mercurial和Bazaar是这里的大赢家。 Arch和Monotone都还为时过早,错过了大肆宣传。

跟随领导者

大型项目的追随者会定期检出并构建代码,即使他们没有贡献。追随者熟悉了获取他们追随的项目所需的工具,因此这些工具得到了更多的使用。让我们看一下三大DVCS的“大抽奖”项目:Git:Linux,Perl,jQuery,Ruby on Rails,Eclipse,Gnome,KDE ,QT,X

Mercurial:Java,Mozilla,Python

集市:Ubuntu,Emacs

Git有更多使用它的“大吸引”项目,因此有更多的人熟悉git,并且编写了更多的git教程。

评论


您可能是正确的,但是您的“大抽奖”列表有点误导/偏见。在Bazaar网站上,他们列出了许多其他主要项目:MySQL,Bugzilla,Debian和GNU似乎都广为人知。汞清单也更大。

–杰夫
2011年7月29日14:50

@jalf:这样的列表必须是主观的。我已经编译了自己的Linux和Gnome,但是从未编译过Mozilla或Emacs。其他人可能恰恰相反。问题实际上是“有多少人将从源代码管理中拉这个项目”?我列出了那些似乎最有可能激发人们安装vcs来拉动当前源代码的文件。

– Sean McMillan
11年7月29日在15:03

很公平。我以为这是一个客观清单的尝试(毕竟,使用每个DVCS系统的主要项目清单应该很容易找到):)

–杰夫
2011年7月29日15:06



#9 楼

这主要是自我强化的炒作。 Git是最受欢迎的,因此得到了最广泛的宣传,从而使其越来越受欢迎。

Git,Hg和Bzr都是完美的DVCS系统,但是越来越多的人将DVCS与Git,并认为DVCS的所有可爱功能都是Git独有的。因此,他们使用Git,并推荐Git,并说“ Git更好,因为它可以完成章鱼的合并”(Bazaar也可以),或者“ Git更好,因为它是分布式的”(任何DVCS也是如此) ),或者说“ Git更好,因为它使分支和合并变得容易”(同样,每个DVCS都是如此)。

可悲的是,因为我觉得其他选择也有很多提供,并且我宁愿人们选择Git是因为其独特的优势,而不仅仅是因为他们认为DVCS == Git。

当某人通过指向一个特定的DVCS而发现聪明的DVCS时,他们经常不要去告诉别人“嘿,DVCS很棒,应该使用它们”,而是“我从DVCS那里学到的DVCS很棒,应该使用它。”

#10 楼

Github。 Github是社交编码的先驱。它将版本控制转变为吸引了很多关注的社交平台,并且显然仅支持Git。社交媒体=更大的采用率。尽管Bitbucket拥有许多新功能,但它正在迅速发展,使其有可能成为竞争对手:)

#11 楼

好吧,事实上,我认为有关所有DSVC的炒作都是这样。

但是git的倡导者更讲究声音,说实话通常更具攻击性,并且喜欢在任何地方谈论它。 >
我怀疑Mercurial被广泛使用,肯定是git,甚至可能更多(微软和其他大公司现在都在使用它),但是使用Mercurial的人们通常只是希望他们能够快速掌握DSVC,而不是什么。以宗教为基础。因此,与某些git用户一样,他们在讨论中的发言权最低,也比其他人更主动。

肯定不会谈论很多Bazaar,因为只有很少的知名项目使用过,而没有其他大公司比Canonical已知会使用它。例如,与Google(git,mercurial,svn)和大型开源项目进行比较,您可以看到为什么没有真正谈论它的原因。 Fossil是另一个对众多开发人员都非常有趣的软件,所以我认为只有那些搜索他们提供的功能(例如嵌入式Wiki,问题跟踪和论坛)的人才能听到Fossil的信息,这对他们来说是正常且正常的。

话虽这么说,我认为我们正在慢慢降低炒作周期,并且许多使用了几种不同解决方案的开发人员都可以开始发现一种最适合他们的需求。

Google Code Hosting和SourceForge现在允许同时使用git和mercurial,因此由于GitHub的功能,与以前选择git相比,它正变得比以前更适合项目特定的选择。

没有真正的战争,只是各种有趣的工具。

评论


我希望炒作大体上是关于DVCS的,但是从我所看到的一切来看,炒作是关于Git的,而且大多数人都认为DVCS和Git本质上是同一件事。

–杰夫
11年7月29日在14:53

#12 楼

我知道这个问题已经有很多答案了,但是我觉得我可以增加一些看法。

自从Bazaar被创建用于各种事物以来,我几乎就使用它了。我用过的最大的东西是AllTray项目,我(目前)是AllTray项目的唯一开发者和维护者。集市很好。它可以正常工作,不会挡住我的脚步,几乎不需要我在它的帮助页面或手册页中查看。也就是说,它有一些弊端:


它具有的许多功能(可以说应该是核心VCS的一部分)不是。作为插件提供诸如执行历史二等分功能,通过寻呼机运行长输出或具有“共置”分支(例如git样式存储库)之类的功能。
很多插件都没有一切稳定。例如,共置分支功能在服务器端似乎无法正常工作(至少,我从来没有使它起作用,它倾向于错误地指出,给定路径上的分支在存在时不存在就在您面前,您会看到血腥的东西。)
它没有“克隆”操作,您一次拉一个分支。如果要拥有一个存储库,则必须做额外的工作,以便可以有效地拉出新的分支。
对于某些项目,它的速度很慢。有时请尝试“ bzr分支lp:mysql”。
它对钩子缺乏强大的支持;您可以编写提供钩子的bzr插件,但是没有标准的方法来拥有服务器端的任意钩子脚本。

我最近改用git进行AllTray开发,并且很快考虑迁移所有项目到git。花费了更多的前期时间来了解绳索,但这似乎是值得的。我注意到的一些事情:



git clone是一个相对较快的操作,它为您提供了有关克隆的存储库中存在的所有分支的信息。 />添加额外的远程存储库很容易,因此您可以根据需要跟踪具有多个分支的许多不同的存储库。
Pro Git图书可以在线使用,并且有多种格式,包括适用于eBook阅读器的设备-但这不是很难阅读。
git似乎比Bazaar扩展容易得多,而且您不必使用任何一种特定的API即可进行扩展。 (注:这既有好处,也有缺点。)
内置了二等分功能,我不能强调该功能的实用性。
GitHub相当不错。
gitosis系统也相当不错。除了在Bazaar中作为插件外,我什至不确定如何实现该功能,而且我无法想象它的效率会如此之高。

长话短说:我使用过bzr很长一段时间,但是git很快向我证明了它的威力。

#13 楼

使用git进行开发时,您往往总是留在同一本地目录中,只需执行git checkout branchname在分支之间进行切换(我一直使用“轻量”功能分支,所以这对我来说是非常重要的功能)。 br />
查看Mercurial文档和教程,似乎处理不同开发分支的首选方法是通过克隆来创建新的存储库。本教程是一个示例。

我相信您可以在Mercurial中执行与git中相同的操作,但是由于某些原因,Mercurial文档(我已阅读)几乎总是通过创建存储库克隆来显示分支。 。

(我每天都使用git。我对水银的使用经验很少,我已经玩过它,并遵循了一些教程)

评论


我一直在使用hg中的“命名”分支。它很好地支持了他们。 hg branch foo,然后稍后再打开foo ...对于分支分支而言,克隆对于常规开发有一些强大的弱点。

– Paul Nathan
2011年7月29日15:46

嗯,所以您是说Git比Hg好,因为尽管Hg支持您关注的功能,但Hg社区认为替代方法更好吗?

–杰夫
11年7月29日在17:47

1:我想知道:为什么在Hg文档中重点关注“通过克隆进行分支”(例如,请参见hgbook.red-bean.com/read/a-tour-of-mercurial-the-basics.html和mercurial.selenic。 com / guide)?对我来说,每个分支只有一个存储库似乎很麻烦。 2:我并不是说git更好,我的回答更多是关于一个问题,对于我(汞新手)而言,这看起来像是两者之间的区别。差异似乎比技术上更具文化意义,因为Hg还支持“在同一存储库中分支”。

– codeape
11年7月29日在19:20

Mercurial在线上遭受许多过时的信息破坏。很多它是由使用git的人们传播的,并且随着它的发展,他们并没有跟上最新的功能。大多数喜欢克隆存储库的旧原因在现代版本的mercurial中不再适用(命名分支现在可以关闭,并且有一个书签系统,如果您愿意,可以为您提供与git分支类似的使用模式)。

–斯蒂芬·雷德(Stephen M. Redd)
2011年9月2日在21:16

#14 楼

我不知道最近几周见过多少这样的人,但他们似乎都认为,Mercurial和/或Bazaar在客观上要比Git好。可用性似乎是一个常见的主题。是的,在使用CVS和Subversion之后,学习Git令人惊讶地困难,但是在这一点上,我不希望将其替换为任何其他VCS,除非它构成了另一种范式转换。指向功能表将很少告诉我它的灵活性,可扩展性,安全性或轻松程度。例如,默认情况下,git-diff使用颜色和寻呼机。当然可以用diff ... | colordiff | less -R或类似的东西得到相同的结果,但是显而易见的是,为什么一个优于另一个。

评论


我不认为您应该因此进行切换-显然,使用您已经知道的工具比切换到另一个工具要容易,无论另一个工具有多容易。我认为没有任何DVCS支持者会真的声称您因为使用git而不是Bazaar或Mercurial而错过了很多钱,但两者之间并没有那么多。

–ZoFreX
11年7月29日在22:03

#15 楼

公平地讲,我认为git vs. Merurial的拥护者与git vs. Centralized拥护者相比很少。但是,原因很容易总结:


Git是程序员的版本控制。 Mercurial是企业的版本控制
。集中化是发明
版本控制的充分尝试,特别是考虑到它是在个人计算机革命之前设计的。


我对程序员的版本控制是什么意思是程序员通常倾向于灵活性而不是易于学习。毕竟,我们愿意花数年的时间学习深奥的语言,以便灵活地使计算机完成未经培训的工作。 Git为程序员提供了随心所欲使用它的灵活性,但要花更多的时间来学习如何安全地使用该灵活性。它允许对实施策略施加限制,但并非开箱即用。请注意,我说的是易学而不是易用。一旦学习了它,git就可以像其他任何VCS一样容易使用,并且由于速度和功能的提高而通常更容易。

一些程序员学到了足够的知识去做自己想做的事,然后拒绝学习新的方法来做吧。企业雇用并雇用了许多此类人员,因此他们希望对所使用的工具进行任何更改以使其具有一定程度的熟悉度。企业还希望程序员具有足够的灵活性来完成工作,但又不要太过麻烦,以免培训或初期迁移。这就是汞的来源。它具有git的大部分功能,但迁移路径更简单。

我不说git仅因炒作而受欢迎,或者莱纳斯的认可。这可能是很多人尝试它的原因,但是他们坚持并推广它,因为它对他们很有效,纯净而简单。

#16 楼

NetBSD开发使用CVS,这很重要。

#17 楼

它有一个更活泼,更活泼的名称,非常适合双关语。

#18 楼

我最近正在寻找用于个人项目的版本控制系统,因此我只尝试了其中的一些。我实际上在命令行上是文盲,并且听说虽然可以使用GUI,但确实打算通过命令行使用Git,这让我有些犹豫。老实说,很容易拿起,我真的很喜欢。文档是采用新技术的重要因素,Git拥有大量清晰易懂的荒谬简单文档。诸如SVN和Bazaar之类的其他替代产品也很棒,它们只是没有像Git那样简单。 Github也是一个重要因素,因为它在当前的开源运动中已变得如此重要。具有(具有讽刺意味的)集中位置可以通过它交换代码和项目本身就是一个改变游戏规则的人。

#19 楼

只是我的2美分-我选择git而不是其他选项,因为它是用C而不是radtool语言或过于学术的高级语言编写的。好处是它快速有效,如果遇到无法解释的错误或行为,我可以实际使用RTFS。它还使它可以在不包含巨大的解释器/运行时的小型自托管开发环境中使用,这意味着我可以直接从git repo中提取并在此类系统上进行编译,而不必在其他地方获取最新资源并进行rsync。 br />

评论


这也是为什么我选择git的原因,因为它是用编译语言而不是python编写的,因此我可以在USB笔中随身携带git的便携式版本以及其他一些工具。

–土狼21
11年7月29日在19:58

但是,这恰恰是Facebook选择使用Mercural的原因:他们对两者的性能都不满意,但是发现提高Mercural的性能更容易(对于大多数运营而言,这只比其慢一小部分) git整体)(由于将python与文件监视服务集成在一起,所以它可以告诉我们哪些内容可以更改,哪些内容可以更改,因此请参见此处),因为python比C更易于使用。

–法律
18年4月15日在3:33

#20 楼

您可能想读一读为什么GNOME桌面项目决定从几年前的svn迁移时选择git而不是hg和bzr。当然,在此过程中进行了许多激烈的宗教讨论,但此GNOME Wiki页面很好地总结了应用于特定社区的优缺点。

#21 楼

更不用说Apple现在已经参与将其推向目标c社区,如果您最近在Xcode 4中创建了一个新应用程序,您会注意到它会自动询问您是否要进行Git存储库。 br />
授权的Xcode 4才问世几个月,并不会影响Gits以前的成功,但是我们都知道Apple可以在短时间内使事物变得流行。

#22 楼

我目前正在从汞(窑)切换到git(github)。我现在已经使用窑炉大约一年了。对我来说,汞没有缺点。我可以做我必须做的一切。

我现在为什么要使用?

现在只有三个原因。

gitHub提供了要点很棒的是
gitHub提供了很好的社交功能
在做开发人员演示和研讨会时,我总是将样本发布在hg和git上。在git上,访问者的访问量是在hg上的访问者的10倍多!

我认为第三个是最重要的访问者。

Thorsten

#23 楼

我想,纯粹的运气,直到现在几乎无法证明为什么某些东西起作用而其他东西没有起作用。 Linus可以构建其他壮观的东西,但不会成功。