Versionsverwaltung: Vor 10 Jahren entwickelte Linus Torvalds Git

Ferdinand Thommes
23 Kommentare
Versionsverwaltung: Vor 10 Jahren entwickelte Linus Torvalds Git
Bild: Jason Long

Die verteilte Versionsverwaltung Git wird 10 Jahre alt. Linus Torvalds hatte sie aus der Not heraus 2005 in wenigen Tagen geschrieben. Seitdem ist ein großer Teil der freien Software-Projekte auf Git umgeschwenkt.

Anlässlich des 10. Geburtstags gab Torvalds der Webseite Linux.com ein Interview zu Git. Torvalds hatte Git in rund zehn Tagen entwickelt, um die Quellcode-Verwaltung des Linux-Kernels zu übernehmen.

Von 1991 bis 2002 war der Kernel ohne Versionskontrolle entwickelt worden. Als dann die Notwendigkeit eines Version Control System (VCS) imminent wurde, gab es nur eine Möglichkeit, die eine automatisierte rückwirkende Umstellung eines bereits so lange bestehenden Projekts erlaubte. BitKeeper ist zwar proprietäre Software, erlaubt aber freien Projekten eine kostenlose Nutzung.

GNU-Erfinder Richard Stallman äußerte Bedenken gegen die Nutzung von BitKeeper, namhafte Entwickler wie Alan Cox schlossen sich dem an. Die freie Lizenz wurde 2005 zurückgezogen, nachdem Samba-Entwickler Andrew Tridgell begonnen hatte, angeblich per Reverse Engineering, BitKeeper nachzubilden. Daraufhin schrieb Torvalds nach einer längeren Planungsphase in rund zehn Tagen das heute weit verbreitete VCS Git.

Git kombinierte Ideen aus BitKeeper und Monotone, setzte aber auf komplett eigenen Code. Zwei Dinge waren Torvalds neben Effizienz und Sicherheit wichtig. Das System sollte verteilt arbeiten, jeder Entwickler sollte ein lokales Repository haben, das exakt die Zweige des Originals abbildet, ein zentrales Repository existiert nicht mehr. Änderungen werden von dort als Commits hochgeladen. Es können neben Master beliebig viele Zweige (Branches) existieren, die per Merge vereinigt werden können. Commits erhalten zur Sicherheit einen Hashwert, der mit der Geschichte des Projekts so verwoben ist, dass ein nachträgliches Ändern nicht möglich ist, ohne dass sich auch der Hash ändert.

Torvalds entwickelte Git mit Hilfe von Git. Lediglich der erste Tag der Entwicklung fehlt, da es noch kein Git gab. Am zweiten Tag sind die ersten Commits bereits in einem funktionierenden Git-Repository. Der Name Git bedeutet im englischen Blödmann. Torvalds fand den Namen kurz, knackig und bisher in der Softwarewelt unbenutzt. Torvalds wäre aber nicht Torvalds, wenn er nicht auch eine witzige und selbstironische Erläuterung des Namens hätte.

Ich bin ein egoistischer Bastard, ich benenne alle meine Entwicklungen nach mir selbst. Erst Linux und nun Git.

Linus Torvalds

Mittlerweile ist ein großer Teil der freien Software-Gemeinde von vielen anderen VCS-Systemen auf Git migriert. Lange hielt sich Subversion (SVN) als Spitzenreiter. Da es jedoch nicht verteilt arbeitet, gewann Git als distributed VCS (DVCS) letztlich die Oberhand. Weitere noch benutzte DVCS sind Bazaar und Mercurial. Bazaar wurde lange von Canonical entwickelt. Unter den Projekten, die Git nutzen, sind unter anderem Android, Debian, Fedora, Gnome, KDE, LibreOffice, der Linux-Kernel sowie Git selbst.

Auf die Frage, ob Git in weiteren zehn Jahren noch der Standard sei, antwortete Torvalds, das wisse er nicht. Sollte es etwas Neues geben, werde es jedenfalls viel von Git haben.