Warum ist die plötzliche Zunahme der Anzahl von Git-Einsendern in Debian-Popcon-Grafiken in 2010-01?


86

Fast jeder Artikel, den ich gelesen habe, 1 vergleicht Git und Mercurial. Mercurial hat anscheinend eine bessere Befehlszeilen-UX, wobei jeder Befehl auf nur eine Idee beschränkt ist (im Gegensatz zu say git checkout).

Aber irgendwann sah Git plötzlich sehr beliebt aus und die Anzahl der Git-Einsender in Debian-Popcon-Grafiken (siehe Grafik unten) explodierte buchstäblich.

Git vs. Mercurial Popularität

Quelle: Debian

Was 2010-01 passierte, dass sich die Dinge plötzlich änderten. Es sieht so aus, als ob GitHub vor 2008 gegründet wurde.


23
Nun, irgendwann traf Github einen Wendepunkt und startete. Ich bezweifle, dass es ein Idiot für sich war. Ich frage mich, ob jemand die Beliebtheit von Gits mit der der Githubs in Beziehung setzen könnte.
Doug T.

2
Was bedeutet eigentlich aus Neugier die "Anzahl der Einsender"?
Adam Houldsworth

6
Sind Sie neugierig auf die allgemeine Beliebtheit von Git oder die Installation von Git unter Debian? Ihre Daten enthalten nur Informationen zu einer Linux-Distribution und ignorieren alle anderen Linux-Distributionen sowie BSD-, Mac- und Windows-Betriebssysteme. Sie stellen jedoch eine allgemeine Frage zur zunehmenden Verwendung eines Tools. Basierend auf einigen der Antworten gibt es eine Debian-spezifische Erklärung, aber es gibt nicht genügend Daten, um die Popularität von Git gegenüber der Popularität von Mercurial bei allen potenziellen Benutzern zu beurteilen. Die vorgelegte Frage scheint auf fehlerhaften Annahmen zu beruhen.
Thomas Owens

32
Git explodierte buchstäblich? Git klingt überhaupt nicht nach einem sicheren Werkzeug. Danke für die Warnung.
Jason

4
Nur ein kleines bisschen, aber git wird in vielen anderen Paketen verwendet. Sehen Sie sich den Unterschied zwischen apt-cache rdepends git-coreund an apt-cache rdepends mercurial. Vielleicht hat es nichts mit git zu tun, außer dass es enthalten ist, weil jemand ein anderes allgemeines Paket installiert hat. Zum Beispiel bin ich ein Benutzer von etckeeper und ikiwiki, die beide auf git basieren (ich denke, es kann auch möglich sein, mercurial zu verwenden). Ich schlage vor, Sie nehmen sich etwas Zeit und schauen sich all die verschiedenen Dinge an, die von git-core abhängen oder empfohlen werden.
Zoredache

Antworten:


48

Das Paket "gnuit" (GNU Interactive Tools, ein Dateibrowser / -viewer und ein Prozessviewer) hieß in Debian bis zum 09.09.2009 "git", während git "git-core" hieß.

Ein besseres Diagramm ist daher:

Das zeigt, dass die Popularität nicht dramatisch gestiegen ist (nehmen Sie die grüne Linie für den linken Teil, bis sie sich kreuzen, und nehmen Sie dann die rote Linie).


17
Es scheint immer noch, dass es 2010/2011 einen dramatischen Anstieg der Popularität gab. Es ging von ungefähr 13.000 Installationen von Git-Core (das ist Git) in 2010-01 auf weit über 50.000 Installationen (kumuliert aus Git-Core und Git-Paketen) in 2011-01. Dies entspricht einer Zunahme von fast 40.000 Installationen in einem Jahr - eine deutlich stärkere Zunahme als bei jeder anderen jährlichen Zunahme.
Thomas Owens

3
Jemand auf HN hat das Bild bearbeitet und es scheint immer noch einen dramatischen Anstieg zu geben, wie @ThomasOwens erwähnt. i.imgur.com/PmYj7.png
Jungle Hunter

2
Ja, es geht immer noch von linearem Wachstum zu exponentiellem, was sehr bedeutsam ist, auch wenn es nicht ganz so plötzlich war, wie es zuerst erscheint
Ben Brocka,

3
@BenBrocka Geht das nicht tatsächlich von linear zu linear mit einem höheren Koeffizienten? :) Und es wird wahrscheinlich letztendlich logarithmisch sein.
kreativitea

2
@ RussellBorogove: Unsinn. Die Zahl der biolumineszierenden fliegenden Lamas in Dschibuti nimmt exponentiell zu, und ich gehe davon aus, dass dies für immer so bleiben wird.
Mechanische Schnecke

34

Das Git-Paket in Debian war früher bekannt als git-core. Im April 2010 wurde das Paket in umbenannt git. Weitere Details finden Sie in diesem Blog-Beitrag von Julius Plenz oder in diesem Commit in Debian .

Hier ist ein Diagramm, das die Zahl zeigt installiert beide gitund im git-coreLaufe der Zeit:

Git-GitCore-Graph


1
Es wäre schön, hier einen Screenshot des Graphen zu haben. Wenn Sie möchten, kann ich es hinzufügen. :)
Jungle Hunter

1
+1. Dieses Diagramm zeigt am besten, was beim Umbenennen des Pakets passiert ist.
Jeff Ferland

26

Ich habe Darcs eine Weile für meine eigenen Projekte benutzt. Während des raschen Aufstiegs, auf den sich Ihr Diagramm bezieht, habe ich auf Git umgestellt. Hier ist meine Beobachtung:

Etwa zu dieser Zeit waren verteilte Quellcodeverwaltungssysteme eine brandneue Sache. Die sogenannten Alpha-Programmierer verwendeten sie nebenbei, aber sie blieben den meisten professionellen Software-Entwicklern verborgen. Die Sichtweise von CVS / SVN / SourceSafe / TFS auf die Welt war für die Programmierer im Allgemeinen mehr oder weniger zufrieden und die meisten Menschen gingen davon aus, dass die Probleme, die das verteilte Quellcodeverwaltungssystem hervorriefen, mit besseren Werkzeugen behoben werden könnten. So wie Sie durch CVS -> SVN eine Verbesserung erhalten haben, würde es eines Tages etwas geben, das es Ihnen ermöglichen würde, SVN -> SVN ++ zu verwenden. Wie würden Sie sonst die Quellcodeverwaltung verwalten?

Dann kam Schwachkopf. Was die Aufmerksamkeit aller auf sich zog, war, dass es ein riesiges öffentliches Projekt gab, das es sofort übernahm. Git hat viele Benutzer umsonst - wenn du ernsthaften Kernel-Hacking betreiben willst, hast du git benutzt. Obwohl ich nicht 100% sicher sein kann, würde ich wetten, dass zu diesem Zeitpunkt kein anderes DVCS eine so große Nutzerbasis hatte.

Dann hat es geklappt. Es hat gut funktioniert. In der Öffentlichkeit hat es gut funktioniert. Es war auch für seine anfänglichen Warzen stabiler als die meisten gleichzeitigen DVCS zu der Zeit. Darcs zum Beispiel könnte in einen inkonsistenten Zustand versetzt werden, der eine absurd komplexe (quadratische? Fakultät? Kann mich nicht sicher erinnern, aber es war schlecht ) Nützlichkeit zum Reparieren erforderte . Git war schon immer stabiler.

Aus seiner großen Nutzerbasis ist es nur irgendwie ausgeblutet.

Jedes Projekt, ob kommerziell oder Open Source, benötigt diese kritische Masse. Darcs hat es nicht verstanden. Mercurial auch nicht. Denke zurück. Viele kleinere Projekte nutzen es. Es gibt wahrscheinlich sogar eine Reihe von kommerziellen Nutzern. Aber was ist Ihre große Erfolgsgeschichte?

"Wenn es für den Linux-Kernel gut genug ist, ist es für Sie gut genug", ist ein sehr überzeugendes Argument.

Zusammenfassend ist festzuhalten, dass es sich um ein gutes Produkt handelte, das zur richtigen Zeit erschien und eine große, hingebungsvolle Nutzerbasis hatte.


4
Ich denke, sowohl git als auch hg haben um 2005 angefangen, bis 2010 waren sie 5 Jahre alte Technologie. Ich hätte sie nicht als Mainstream bezeichnet, aber ich denke auch nicht, dass Blutsverwandte richtig sind.
R0MANARMY

10
Wie beantwortet das die gestellte Frage? „Was ist passiert in 2010-01 , dass die Dinge plötzlich verändert“ , wie bei gezeigt Screenshot
gnat

2
@gnat Das ist das Stadium des Ausblutens / der kritischen Masse, auf das ich mich bezog.
Michael

4
@Michael, wie ich es sehe, deine Antwort geht nicht weiter darauf ein. Bei allem Respekt, so , wie es ist jetzt formuliert sieht es eher wie eine wilde Vermutung, ein Schuss im Dunkeln. „Damals Januar 2010, fühlte ich mich wie es kommt, gab es etwas in der Luft ...“ Nicht sehr hilfreich leider
gnat

1
Die Probleme, die zu verteilter Quellcodeverwaltung führten, wurden durch bessere Tools behoben. Das heutige SVN ist weitaus besser als die jahrelange Version, die die DVCS-Leute für immer noch aktuell halten, und es behebt die inhärenten Probleme mit dem alten Modell, ohne all die neuen Kopfschmerzen und die zusätzliche Komplexität, die DVCS mit sich bringt.
Mason Wheeler

13

Ich war ein später Adopter - wechselte um 2010 von Mercurial zu Git.

Ich glaube, Git wurde so beliebt, weil Websites wie GitHub in Versionskontrolltools einen Netzwerkeffekt aufwiesen. Dies wurde zuvor nicht gesehen, da Sie Code auf Projekt- oder Firmenbasis freigeben würden.

Ich erinnere mich besonders, dass ich zu Git und Github gewechselt habe, weil alle Projekte, an denen ich interessiert war und an denen ich mitgewirkt habe, dasselbe getan haben, sowie die Entwickler, mit denen ich in Verbindung stehe.

Das ist ein Netzwerkeffekt.

GitHub war die beliebteste webbasierte Kollaborationsschicht, die auf DVCS aufbaute, und Git erwies sich als "gut genug". Mercurial war sicherlich einfacher zu erlernen und zu verwenden, Git hat viele Nuancen, hatte aber wegen Linus eine solide Marke.

Nur weil GitHub in '08 gestartet wurde und das Wachstum in '10 beginnt, bedeutet das nicht, dass GitHub nicht verantwortlich ist. Betrachtet man Wettbewerbswachstumscharts in anderen Bereichen wie Social Networking und das Wachstum von Facebook, ist die Linie sehr ähnlich.

Sie sehen solche Wachstumscharts nicht ohne einen Virusschleifen- / Netzwerkeffekt.

Zum Beispiel. Vergleiche mit einem Diagramm des Facebook-Wachstums

Facebook Wachstum Chart

Update: Ich weiß, dass die oben genannte Quelle möglicherweise nicht genau war, aber es gibt viele Datenquellen, die belegen, dass Git in den letzten Jahren exponentiell gewachsen ist.

Grafik 1: Git-Erwähnungen in Stellenanzeigen

Erwähnung von Git in Stellenanzeigen

Und die Eclipse-Umfrage, aus der hervorgeht, dass der Git-Marktanteil von 13% im Jahr 2011 auf 27% im Jahr 2012 gestiegen ist . Erstaunliches Wachstum.

Dieser Beitrag erklärt das Git-Wachstum und die Netzwerkeffekte viel besser als das, was ich hier getan habe.


9
Es gibt einen großen Unterschied zwischen einem exponentiellen Anstieg (wie wir beim Facebook-Diagramm sehen) und dem ursprünglichen Diagramm, in dem die Frage enthalten ist. Wenn man diesen Graphen glauben würde, gäbe es eine dramatische Diskontinuität in der Steigung an einem bestimmten Punkt - das würde ein Ereignis implizieren , das passiert ist, kein Netzwerkeffekt. Und in der Tat klingt es aus anderen Antworten, dass dieses Ereignis das Paket war, das umbenannt wurde! :)
Starwed

Dieses Diagramm könnte falsch sein, aber es gibt auch andere Umfragen , die zeigen , dass Git Wachstum ist exponentiell gewesen. Zum Beispiel. Die Eclipse-Umfrage, wie sie in diesem Beitrag besprochen wird (was den gleichen Punkt betrifft, den
nikcub

Die McKay-Verbindung ist unterbrochen. Hier ist die Wayback Machine Version .
Faheem Mitha

5

Zur Verdeutlichung zeigt dieses Diagramm die Installation von git auf Debian-Systemen.

Ungefähr zu dem Zeitpunkt, an dem die Spitze auftritt, wurde das Debian-Paket von git-core in git umbenannt. Vielleicht fanden die Leute das Paket jetzt einfacher, da der Name die Software widerspiegelte.


5

Ich bin überrascht, dass niemand Github als einen der Hauptgründe für Git genannt hat, um an Popularität zu gewinnen . Sie haben den Git-Mainstream vorangetrieben.

Github startete im April 2008 und innerhalb von 1-2 Jahren gewannen sie an Popularität. Und dann, wenn Sie eine plötzliche Explosion der Git / Git-Core-Nutzung sehen, ist dies in erster Linie auf die 2Millionen Github-Benutzer und deren 3,7 Millionen Repositorys zurückzuführen. Github machte Git einfach zu bedienen. Bitbucket war da, aber Github machte es mühelos. Ich bin mir sicher, wenn Github-Leute Hg anstelle von Git gewählt hätten, hätten wir den gleichen Anstieg bei der Verwendung von Hg feststellen müssen.

Analogie kann sein: Canonical: Linux :: Github: Git


Ich stimme absolut zu. Mit Github macht die Versionskontrolle Spaß, ist einfach zu verstehen und mit all diesen Open-Source-Repositorys sehr nützlich. Sie sind meiner Meinung nach der Grund, warum Git so groß geworden ist.
d34n5

1

Nun, IMHO, verteilte VCSs wie Hg und Git sind von Natur aus besser als ein zentrales VCS - also würde SVN immer gegen eines von ihnen verlieren.

Und git hatte, wie bereits beobachtet, den großen Vorteil gegenüber Hg, dass es vom größten und erfolgreichsten Open-Source-Projekt der Welt genutzt wurde - das ist von Anfang an ein verdammt guter Track Record.

Was den Grund für die plötzliche Explosion Anfang 2010 betrifft, ist meine Vermutung ziemlich prosaisch. Git ist brillant, aber für Anfänger nicht sehr intuitiv.

Das beste Git-Buch, IMHO, ist Pro Git, das im September 2009 veröffentlicht wurde. Das zweitbeste (wieder IMHO), O'Reillys Git-Buch, wurde im Juni 2009 veröffentlicht.

Der Grund, warum die Git-Nutzung Anfang 2010 explodierte, könnte so einfach sein wie die Tatsache, dass zu diesem Zeitpunkt wirklich gute Ressourcen zum Erlernen der Verwendung verfügbar wurden.


1
SVN war nie ein führendes zentrales VCS, wenn es um das Verzweigen und Zusammenführen ging. Hg und Git waren die ersten Open-Source-VCS, die sich gut mit Verzweigungen und Zusammenführungen auskennen. Ich denke nicht, dass zentralisiert / verteilt so viel damit zu tun hatte.
Ian

1

Die Wahl eines Versionskontrollsystems ist eine soziale Entscheidung. Das Team muss alle dieselbe Lösung verwenden. Im Gegensatz zu einem Texteditor, der eine persönliche Entscheidung ist, können verschiedene Entwickler unterschiedliche Editoren verwenden und problemlos zusammenarbeiten.

Daher hat die Auswahl eines Versionskontrollsystems Netzwerkeffekte, die dazu führen, dass Systeme, die möglicherweise etwas besser oder populärer sind, noch populärer werden.

Zum Beispiel bevorzuge ich darcs für Open-Source-Projekte, habe aber festgestellt, dass mehr meiner potenziellen Mitwirkenden mit git vertraut sind, und ich habe mehr Beiträge für Projekte erhalten, die mit git statt mit darcs gehostet werden. Also benutze ich git nicht mehr so ​​oft, sondern darcs. Da ich es dann verwende und Code auf Github veröffentliche, scheint es, als würde ich es befürworten oder sogar vorziehen, was andere dazu veranlassen könnte, es zu verwenden.

Entwickler möchten nicht für jedes Projekt, an dem sie beteiligt sind, ein neues Quellcodeverwaltungssystem erlernen. Daher ist es für die gesamte Community von Vorteil, einen Standard zu haben, der "gut genug" und weit verbreitet ist, und dann von jedem Team und Projekt das "Beste" zu wählen "Lösung im Vakuum.

Github fügte dem Feuer des Netzwerkeffekts nur Kraftstoff hinzu.


-1

Betrachtet man das korrigierte Diagramm in Michaels Antwort, das sowohl Git-Core als auch Git auf Debian-Systemen zeigt, so stellt sich die Frage, warum Git 2006 auf Debian-Systemen populär wurde und warum es zwischen 2006 und 2012 exponentiell gewachsen ist.

Der Grund könnte die starke Akzeptanz von Debian-basierten Linux-Distributionen wie Ubuntu sein, die von 2005 bis 2006 populär wurden und bis etwa 2011 die Nr. 1 der Distribution wurden, als Mint, ebenfalls Debian-basiert, die Nr. 1 wurde. Ende 2012 ist Mint laut DistroWatch immer noch die Nummer 1 und Ubuntu die Nummer 3 .

GitHub wurde 2008 gegründet und stellte kostenloses Git-Hosting bereit. Laut Wikipedia war GitHub von 2008 bis 2012 mit rund 2,5 Millionen Nutzern und rund 4,5 Millionen Projekten der weltweit führende Quell-Repository-Dienst .

Rails und viele andere Projekte wechselten Ende der 2000er Jahre von Rubyforge zu GitHub. Darüber hinaus wurde Bundler zu der ursprünglich in Frage kommenden Zeit (Ende 2009) mit Unterstützung für die Installation / Aktualisierung von :gitGems über eine Option in der Gemdatei eingeführt, und Bundler wurde als Abhängigkeit von Rails 3 aufgenommen. Projekte in Python, Javascript, C, C ++ , Java, CSS usw. wurden ebenfalls auf GitHub migriert oder gestartet.

Diejenigen, die zu den Projekten auf GitHub beitragen wollten, mussten das Projekt in GitHub verzweigen, einen lokalen Git-Client verwenden, um das Repository zu klonen, bevor sie Änderungen vornahmen und sie zurück in GitHub schoben und eine Pull-Anfrage stellten. Dies war viel einfacher als andere Methoden zuvor und wohl ein wichtiger Grund, warum es von den Projekten übernommen wurde, die zu GitHub gewechselt sind oder sich entschieden haben, dort zu beginnen. Dies bedeutete, dass git-core / git in den Debian-basierten Distributionen installiert werden musste, damit Entwickler GitHub verwenden konnten.

Ich glaube also, dass es eine Kombination aus Debian-basierten Distributionen war, die immer beliebter wurden und eine wachsende Akzeptanz von GitHubs GitHub-Nutzern und -Projekten fanden, was wahrscheinlich auf das kostenlose Hosting und die Benutzererfahrung von GitHub zurückzuführen ist.


-2

Ich denke, dass viele Leute die Korrelation mit der Kausalität verwechseln.

Die dargestellten Grafiken zeigen alle Korrelationen zwischen den Maßen der Beliebtheit von Git und Ereignissen ... und anderen Maßen. Eine Korrelation ist jedoch kein eindeutiger Beweis für eine Kausalität.

Einige andere Antworten versuchen, Beziehungen zu anderen Dingen herzustellen. zB Linus Torsvalds Evangelisation für DVCS, Gründung von Github, Aufstieg der sozialen Netzwerke. Es gibt zwar Hinweise auf eine Korrelation (auf einer Zeitachse), die nicht so stark ist, dies schließt jedoch die Kausalität nicht aus. Besonders wenn Sie die "Netzwerkeffekt" -Hypothese akzeptieren; dh dass es mehrere Ursachen gibt.

Die Quintessenz ist, dass die Art der verfügbaren Beweise keine Ursachen haben kann. Wir sprechen über das kollektive Verhalten von Hunderttausenden von Menschen, und Menschen treffen Entscheidungen aus verschiedenen Gründen ... oder aus keinem logischen Grund. Programmierer unterscheiden sich nicht von anderen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.