15 Jahre Git: Die Versionsverwaltung für Quellcode hat Wurzeln geschlagen

Linus Torvalds erstellte 2005 aus dem Mangel an freier Software zum Managen von Quellcode das System zur Versionskontrolle Git.

Lesezeit: 2 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 427 Beiträge

(Bild: Quick Shot/Shutterstock.com)

Von

Notsituationen können Raum für etwas Neues öffnen, mitunter entstehen daraus dauerhaft tragfähige Strukturen. Vor 15 Jahren war das der Fall, als BitKeeper, ein verbreitetes und bis dahin quelloffenes System zum Verwalten von Sourcecode, proprietär wurde. Linux-Entwicklern stand abrupt kein Software Control Management (SCM) mehr kostenfrei zur Verfügung, das sowohl sicher und solide als auch effizient genug und als Open-Source verfügbar war, um den gesamten Release-Prozess des Linux-Kernel abzubilden.

Linus Torvalds, Erfinder von Linux und nach eigener Aussage ein Sturkopf unter den Informatikern, hielt von bestehenden quelloffenen SCM-Systemen wie dem damals fünfjährigen Subversion nicht viel. Auch ein bereits existierendes Projekt namens Monotone erfüllte seine Ansprüche nur zum Teil, zu denen ähnlich wie bei BitKeeper die Unterstützung verteilter Arbeitsabläufe und Sicherheit gegen versehentliche oder böswillige Manipulation gehörten. Das Konzept von Monotone fand bei Entwicklern durchaus Anklang, an der Effizienz haperte es noch.

Binnen weniger Tage programmierte Torvalds Git, ein verteiltes Versionsverwaltungssystem. Konzeptionell seien "Wegwerfbäume" entscheidend, da die gesamte Datenbank sonst wild zuwuchere. Am 3. April 2005 legte er los, am 6. April kündigte er sein Projekt per Mailingliste an. Bereits am 7. April 2005 erblickte Git das Licht der Entwicklerwelt mit dem Status "self-hosting". Die nächsten Etappen sind rasch erzählt: Der erste Merge erfolgte am 18. April, und am 29. April 2005 war mit 6,7 Patches pro Sekunde die von Torvalds damals angepeilte Zielperformance erreicht. Bereits im Juni 2005 erschien die erste mit Git verwaltete Version eines Linux-Kernels (Version 2.6.12). Ende Juni 2005 gab der Erfinder sein Neugeborenes aus der Hand, und Junio Hamano übernahm die weitere Pflege und Entwicklung.

Git trägt nicht nur Torvalds Programmiererhandschrift, sondern gewissermaßen auch seinen Namen: "Ich bin ein egoistischer Typ und taufe all meine Projekte nach mir selbst. Erst Linux, nun Git", gibt er im Git-Wiki zu Protokoll. Git ist britischer Jargon für eine sture, rechthaberische Person. Mit zunehmender Etablierung wurde das Versionsverwaltungssystem durch die Community emanzipiert, ein nachträglich geschaffenes Backronym löst die Buchstabenfolge Git heute auch als "Global Information Tracker" auf.

Stand zunächst allein die Entwicklung des Linux-Kernels im Fokus, zog das Konzept bald weite Kreise. Die Möglichkeit des verteilten Verwaltens entsprach den Bedürfnissen vieler Projektteams, die zunehmend auf Git-Strukturen setzten. Verteilten Systemen ist gemein, dass sie keinen zentralen Server benötigen, sondern nach dem Peer-to-Peer-Konzept arbeiten. Das bedeutet, dass auf jedem Peer ein Repository existiert, das eine Teilmenge aller Entwicklungszweige enthält. Es gibt aber nicht zwingend ein Repository, in dem alle Änderungen vorhanden sind. Jeder Benutzer entscheidet selbst, welche Änderungen er in sein Verzeichnis aufnimmt. In jedem Repository ist die Änderungshistorie der Artefakte enthalten, sodass hierdurch inhärent Back-ups vorliegen – vorausgesetzt, die Änderungen wurden bereits verteilt.

Git war und ist nicht das einzige System zur Versionskontrolle, aber das gebräuchlichste. Den endgültigen Durchbruch erreichte Git durch den im April 2008 gegründeten Hosting-Dienst GitHub, der sich mittlerweile zur weltweit verbreitetsten Entwicklungsplattform für Open-Source-Projekte gemausert hat. GitHub nutzt Git und ergänzt es um Werkzeuge zur gemeinsamen Arbeit an Code. Die hohe Zahl der gehosteten Projekte dürfte darauf zurückgehen, dass Open-Source-Projekte GitHub kostenlos nutzen können. Das Unternehmen hinter dem Dienst verdient Geld mit weiteren, kostenpflichtigen Angeboten zur proprietären, nichtöffentlichen Softwareentwicklung von Geschäftskunden.

Git ist nach nunmehr 15 Jahren ein De-facto-Standard in der Softwareentwicklung. Vergleichbare Dienste mussten Git mit der Zeit unterstützen, andere Plattformen wie Google Code haben aufgegeben. Auch Microsoft hat sich mit der Zeit Richtung Git orientiert und betreibt zum Beispiel die .NET-Entwicklung auf GitHub. Das US-Unternehmen kaufte die Plattform (GitHub) 2018 sogar, und seither heißt dort der Slogan: "Open source, from Microsoft with love".

Allerdings gilt es klar zu unterscheiden zwischen Git als quelloffenem, frei verfügbarem Verwaltungssystem und GitHub, der durch ein Start-up gegründeten Plattform auf kommerziellen Füßen, die das Git-System für quelloffene Projekte unterstützt und in der Breite bekannt gemacht hat, bislang kostenfrei. Die von Linus Torvalds in der Geburtsstunde von Git offen verpönte Versionsverwaltung Subversion feierte Ende Februar 2020 ihren 20. Geburtstag, sie steht heute unter der Apache-Lizenz. Auch Git dürfte Entwickler noch lange, und mutmaßlich als Open Source, begleiten.

Zum Status quo der Versionsverwaltung (Git 2.26) informiert eine Meldung auf heise Developer. Ein Rückblick vom zehnten Geburtstag lässt sich hier auch einsehen. Viele Fragen rund um Git beantworten die FAQ im Wiki des Projekts. (sih)