为什么在2010-01年度Debian popcon图上Git提交者的数量突然增加?


86

几乎所有的文章我读过1比较Git和水银好像水银具有较好的命令行UX每个命令仅限于只有一个想法(不像说git checkout)。

但是在某个时候,Git突然变得超级流行,并且Debian popcon图上的Git提交者数量激增(见下图)。

Git vs.Mercurial人气

资料来源:Debian

2010-01年发生的事情突然发生了变化。看起来GitHub早于2008年成立。


23
在某个时候,github达到了拐点并起飞。我怀疑它本身就是git。我想知道是否有人可以将gits的流行程度与github的受欢迎程度相关联?
Doug T.

2
实际上,出于好奇,“提交者数量”代表什么?
亚当·霍尔兹沃思

6
您是否对Git的整体受欢迎程度或在Debian上安装Git感到好奇?您的数据仅提供有关一个Linux发行版的信息,而忽略了所有其他Linux发行版以及BSD,Mac和Windows操作系统,但是您在询问有关工具使用率上升的一般性问题。根据一些答案,有一个特定于Debian的解释,但是没有足够的数据来说明Git的流行度和Mercurial在所有潜在用户中的流行度。似乎提出的问题是基于错误的假设。
托马斯·欧文斯

32
Git真的爆炸了吗?Git听起来根本不是一个安全的工具。谢谢你的提醒。
杰森

4
只是一个问题,但是git在许多其他软件包中使用。看看apt-cache rdepends git-core和之间的区别apt-cache rdepends mercurial。也许它与git无关,因为它是因为有人安装了一些其他通用软件包而与git无关。例如,我是etckeeper和ikiwiki的用户,它们都是基于git的(我认为也可以使用mercurial)。我建议您花一些时间,研究一下依赖或推荐git-core的所有内容。
Zoredache

Answers:


48

直到2009年9月9日,软件包“ gnuit”(GNU Interactive Tools,文件浏览器/查看器和进程查看器)在Debian中被称为“ git”,而git被称为“ git-core”。

因此,更好看的图形是:

这表明受欢迎程度并没有显着提高(在左边穿过绿线,直到它们交叉,然后穿过红线)。


17
看起来在2010/2011年,受欢迎程度急剧上升。它从2010-01年的约1300万次git-core(即Git)安装到2011-01年的50,000多次安装(累计git-core和git软件包)。一年内的安装量增加了近4万,这比任何其他年度增加量都大得多。
托马斯·欧文斯

3
HN上的某人编辑了该图像,但似乎仍然像@ThomasOwens所提到的那样急剧上升。i.imgur.com/PmYj7.png
丛林猎人

2
是的,它仍然从线性增长变为指数增长,这非常重要,即使它并不像它初次出现时那么突然
Ben Brocka 2012年

3
@BenBrocka实际上不是从线性变为线性系数更高吗?:)而且最终可能将是对数的。
kreativitea 2012年

2
@RussellBorogove:废话。吉布提的生物发光飞行美洲驼的数量呈指数增长,我希望这将永远持续下去。
机械蜗牛


26

我将Darcs用于自己的项目已有一段时间。在您的图形所指的快速提升过程中,我切换到git,所以这是我的观察结果:

大约在那时,分布式源代码控制系统是最前沿的事情。所谓的Alpha程序员在侧面使用它们,但是它们不属于大多数专业软件开发人员的关注范围。CVS / SVN / SourceSafe / TFS观察世界的方式是程序员通常对此或多或少感到满意的一种方式,并且大多数人认为可以通过更好的工具解决产生分布式源代码控制系统的问题。就像从CVS-> SVN获得改进一样,总有一天会允许您使用SVN-> SVN ++。您还将如何管理源代码控制?

然后是git。迫使git出现在每个人的视野中的是,有一个巨大的公共项目立即采用了它。Git免费提供了许多用户-如果您要进行严重的内核黑客攻击,请使用git。尽管我不能百分百确定,但我敢保证当时没有其他DVCS拥有如此庞大的用户群。

然后它起作用了。运行良好。在公开场合效果很好。对于最初的缺陷,它比当时大多数并发的DVCS更稳定。例如,Darcs可能会陷入不一致的状态,从而需要修复一个荒谬的复杂(二次方?阶乘方?不能肯定地回忆起,但很糟糕)实用程序。Git一直更加稳定。

在庞大的用户群中,它只是放血了。

每个项目,无论是商业项目还是开放源代码,都需要达到这一临界水平。Darcs没明白。水星也没有。回想起。许多较小的项目都在使用它。甚至可能有许多商业用户。但是您最大的成功故事是什么?

“如果对Linux内核足够好,那么对您也足够好”,这是一个很有说服力的论点。

因此,总而言之,这是一个很好的产品,适时问世,并拥有庞大的忠实用户群。


4
我认为git和hg都是在2005年左右开始的,到2010年它们已经使用了5年。我不会将它们称为主流,但是我也不认为前沿技术是正确的。
R0MANARMY 2012年

10
那如何回答所问的问题?如屏幕截图所示:“ 2010-01发生的事情突然改变了”
咬到2012年

2
@gnat这是我所指的出血/临界质量阶段。
Michael

4
以我所见的方式@Michael,您的回答就不那么详细了。尽一切应有的尊重,现在的措辞看起来更像是一个疯狂的猜测,一个黑暗的镜头。“那是在2010年1月,当时我感觉快要来了,空气中有些东西……”不好意思,抱歉
t

1
这催生了分布源控制的问题得到修复更好的工具。如今的SVN远远优于DVCS人们似乎仍认为的旧版本,并且在不引入DVCS带来的所有新麻烦和额外复杂性的情况下,解决了旧模型固有的问题。
梅森·惠勒

13

我是一个较晚的采用者-在2010年左右从Mercurial转到Git。

我相信Git如此受欢迎的原因是因为GitHub之类的网站使您在版本控制工具中产生了网络效应。由于您将在项目或公司的基础上共享代码,因此以前没有看到过。

我特别记得切换到Git和Github的原因,因为我感兴趣的所有关注和贡献的项目以及与我相关的开发人员都做了同样的事情。

那是网络效应。

GitHub是最流行的基于DVCS的基于Web的协作层,Git最终“足够好”。Mercurial当然更易于学习和使用,Git有很多细微差别,但是由于Linus的缘故,它的品牌很牢固。

仅仅因为GitHub于08年启动而增长始于10年代,并不意味着GitHub不承担责任。如果您查看社交网络和Facebook的增长等其他领域的竞争性增长图,则该路线非常相似。

没有病毒环/网络效应,您不会看到这样的增长图。

例如。与Facebook增长图表比较

Facebook的增长图

更新:我知道上面的来源可能不准确,但是有大量数据来源证明Git在过去几年中呈指数增长。

图1:招聘广告中提到的Git

在招聘广告中提及git

Eclipse调查显示,Git市场份额从2011年的13%增长到2012年的27%。惊人的增长。

这篇文章比我在这里所做的更好地解释了Git的增长和网络效应。


9
指数增长(如我们在facebook图上看到的)与原始图形所包含的问题之间存在很大差异。如果可以相信该图,则在特定点的斜率会出现戏剧性的不连续性-这意味着发生了某些事件,而不是网络效应。确实,从其他答案看来,此事件是程序包被重命名了!:)
2012年

此图可能是错的,但也有证明,Git的生长其他调查已经被指数。例如。在这篇文章中讨论的Eclipse的调查(这让我提出的相同点,但在一个更好的方法):jamesmckay.net/2012/06/...
nikcub

mckay链接已损坏。这是Wayback Machine版本
Faheem Mitha 2013年

5

为了清楚起见,此图显示了git在debian系统上的安装。

在高峰时期,Debian软件包从git-core重命名为git。也许人们发现该软件包更容易了,因为该名称反映了该软件。


5

令我惊讶的是,没有人提到Github是Git获得流行的最大原因之一。他们推动git成为主流。

Github于2008年4月推出,并在1-2年内受到欢迎。然后,当您看到git / git-core用途突然激增时,主要是由于200万github用户及其370万存储库引起的。Github使git易于使用。Bitbucket在那里,但是github毫不费力。我敢肯定,如果github伙计们选择了Hg代替git,我们应该会看到Hg的使用激增。

比喻可以是:Canonical:Linux :: Github:Git


我绝对同意 Github使修订控制变得有趣,易于理解,并且在所有这些开放源代码存储库中都非常有用。在我看来,它们是Git变得如此庞大的原因。
d34n5 2014年

1

好吧,恕我直言,像Hg和Git这样的分布式VCS在本质上比集中式VCS更好-因此SVN总是会输给其中的一个。

正如已经观察到的,git具有比Hg更大的优势,它是地球上最大,最成功的开源项目所使用的,这从一开始就令人难以置信。

至于为什么在2010年初突然爆炸,我的猜测是平庸的。Git很出色,但是对于初学者来说并不是很直观。

最好的Git书籍,恕我直言,是Pro Git,于2009年9月出版。第二好的(再次是IMHO),O'Reilly的Git书籍,于2009年6月出版。

因此,Git使用率在2010年初激增的原因可能很简单,那就是当有真正好的学习使用方法的资源问世时。


1
当涉及分支和合并时,SVN从来不是领先的集中式VCS。Hg和Git是第一个很好地应对分支和合并的开源VCS。我认为集中式/分布式与它无关。
伊恩

1

选择版本控制系统是一项社会决策。团队都需要使用相同的解决方案。与文本编辑器(这是个人决定)相反,不同的开发人员可以使用不同的编辑器并轻松协作。

因此,选择版本控制系统会对网络产生影响,从而导致本来可能更好一点或更流行的系统变得更加流行。

例如,对于开放源代码项目,我更喜欢使用darcs,但是发现我的更多潜在贡献者熟悉git,并且对于使用git而不是darcs托管的项目,我更容易收到更多的贡献。因此,我最终大量使用git而不是darcs。然后,因为我使用了它并在Github上发布了代码,所以我似乎认可或什至更喜欢它,这可能会影响其他人使用它。

开发人员不想为其贡献的每个项目学习新的源代码控制系统,因此使整个社区受益于拥有一个“足够好”且广受欢迎的标准,然后让每个团队和项目选择“最佳”真空中的溶液。

Github仅增加了网络效应的火力。


-1

查看Michael回答中的更正图表,其中显示了git-core和git在Debian系统上,这似乎是为什么git在2006年开始在Debian系统上变得流行以及为什么它在2006-2012年间呈指数增长。

原因可能是基于Debian的Linux发行版的广泛采用,例如Ubuntu,该发行版在2005-2006年左右开始流行,并成为排名第一的发行版,直到2011年左右,当时基于Debian的Mint成为发行版的第一。根据DistroWatch的数据,在2012年底,Mint仍然排名第一,而Ubuntu排名第三。

GitHub成立于2008年,提供免费的git托管,根据Wikipedia在2012年底的统计,2008年至2012年间,GitHub是全球排名第一的源存储库服务,拥有约250万用户和约450万项目

Rails和许多其他项目在2000年代后期从Rubyforge转到GitHub。此外,Bundler在最初有问题的时间(2009年末)被引入,并支持通过:gitGemfile中的选项安装/更新gem ,Bundler被包含为Rails 3的依赖项。Python,Javascript,C,C ++项目,Java,CSS等也已迁移到GitHub或在GitHub上启动。

那些想为GitHub上的项目做出贡献的人需要在GitHub上创建项目,使用本地git客户端克隆存储库,然后再进行修改并将其推回GitHub并进行拉取请求。这比以前使用的其他方法简单得多,并且可以说这是移至GitHub或决定从那里开始的项目所采用的重要原因。这意味着需要在基于Debian的发行版中安装git-core / git,以便开发人员可以使用GitHub。

因此,我相信这是基于GitHub的用户和项目的增长(基于GitHub的免费托管和用户体验),基于Debian的发行版变得越来越流行以及git的采用越来越广泛。


-2

我认为很多人都将因果关系与混淆混为一谈。

呈现的所有图表均显示了gits流行度与事件...与其他度量之间的相关性。但是,相关性不是明确的因果关系证据。

其他一些答案则试图与其他事物建立联系。例如DVCS的Linus Torsvalds传福音,Github的成立,社交网络的兴起。尽管有证据表明相关性(在时间轴上)不那么强,但这并不排除因果关系。尤其是如果您接受“网络效应”假设;即有多种原因。

最重要的是,现有的证据不能显示因果关系。我们正在谈论成千上万的人的集体行为,而人们出于不同原因做出决定……或者根本没有逻辑原因。程序员与其他人没有什么不同。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.