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.
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.
apt-cache rdepends git-core
und anapt-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.Antworten:
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).
quelle
Das Git-Paket in Debian war früher bekannt als
git-core
. Im April 2010 wurde das Paket in umbenanntgit
. 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
git
und imgit-core
Laufe der Zeit:quelle
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.
quelle
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
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
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.
quelle
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.
quelle
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
quelle
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.
quelle
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.
quelle
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
:git
Gems ü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.
quelle
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.
quelle