Im Jahr 2002 hatte der Linux-Kernel – Tausende Mitwirkende und Tausende parallele Änderungsströme – das proprietäre BitKeeper zur Versionsverwaltung übernommen. Im Jahr 2005 zerbrach die Beziehung zwischen der Kernel-Gemeinschaft und dem Hersteller von BitKeeper, der kostenlose Status des Werkzeugs wurde entzogen, und das größte kollaborative Softwareprojekt der Welt stand ohne sein zentrales Arbeitswerkzeug da.
Die Idee
Eine verteilte Versionsverwaltung, gebaut auf Geschwindigkeit und Tausende parallele Branches – jeder Klon ist ein vollständiges Repository, entworfen nach den eigenen Datenstrukturen des Kernels.
Torvalds schrieb die erste Version selbst: Der erste Commit erfolgte am 7. April 2005 mit der Nachricht „Initial revision of ‚git‘, the information manager from hell“ – eine Handvoll C-Dateien, die sieben Befehle bereitstellten. Die Designziele, gezogen aus den Lehren von BitKeeper, waren Geschwindigkeit, einfaches Design, starke Unterstützung nichtlinearer Entwicklung und vollständige Verteilung. Am 26. Juli 2005 übergab er die Wartung an Junio Hamano, und Git 1.0 erschien am 21. Dezember 2005.
Git wurde das Versionsverwaltungssystem, das die meisten Entwickler verwenden: Bis 2022 gaben nahezu 95 % der Entwickler an, es sei ihre primäre Versionsverwaltung, und die großen Software-Forgen – GitHub, GitLab, Bitbucket – sind um es herum gebaut. Ein internes Werkzeug, geschrieben für den Arbeitsablauf eines einzigen Projekts, wurde zur Grundlage kollaborativer Softwareentwicklung weltweit.
Der Linux-Kernel wird von Tausenden Mitwirkenden entwickelt, die Tausende parallele Änderungen vornehmen, was die Versionsverwaltung ungewöhnlich schwierig macht. Im Jahr 2002 übernahm das Projekt BitKeeper, ein proprietäres verteiltes System, dessen Hersteller die kostenlose Nutzung erlaubte. Im Jahr 2005 zerbrach diese Beziehung und der kostenlose Status wurde entzogen, und die Kernel-Gemeinschaft – allen voran Linus Torvalds – musste das Werkzeug ersetzen, das ihre gesamte Arbeit enthielt.
Torvalds' Antwort war, den Ersatz selbst zu schreiben. Der erste Commit am 7. April 2005 kündigt sich mit einem Augenzwinkern an: „Initial revision of ‚git‘, the information manager from hell.“ Es war eine kleine Sammlung von C-Dateien, die sieben Befehle auf niedriger Ebene bereitstellten, gebaut um dieselben Ideen wie der Kernel: Geschwindigkeit zuerst, einfaches Design, kostengünstiges Branchen für nichtlineare Entwicklung und vollständige Verteilung, sodass jede Kopie des Repositorys die vollständige Historie trägt.
Es hörte schnell auf, ein privates Werkzeug zu sein. Junio Hamano stieß innerhalb von Wochen dazu und übernahm am 26. Juli 2005 die Wartung – Torvalds hatte nie vorgehabt, es für immer zu pflegen –, und Git 1.0 erschien am 21. Dezember 2005. Von dort entkam es dem Kernel vollständig: Bis 2022 gaben nahezu 95 % der Entwickler an, Git sei ihre primäre Versionsverwaltung, und die Forgen, die moderne Open-Source-Projekte organisieren, darunter GitHub und GitLab, sind im Kern Git-Dienste.
Es behandelte Versionsverwaltung als Performance-Problem: Geschwindigkeit war Ziel Nummer eins, denn ein Werkzeug, auf das Menschen warten, ist ein Werkzeug, das Menschen umgehen.
Vollständige Verteilung bedeutete, dass jeder Entwickler die gesamte Historie mit sich trug – kein einzelner Ausfallpunkt und keine Berechtigungsschranke zwischen einer Idee und einem lokalen Experiment.
Branchen war eine erstklassige Operation statt eines teuren Nebeneffekts, sodass parallele Arbeitslinien zur billigen, normalen Art wurden, Dinge auszuprobieren.
Es wurde gegen die härteste verfügbare reale Arbeitslast gebaut – den Maßstab des Kernels – statt gegen einen Marktdurchschnitt, und genau deshalb ließ es sich so gut verallgemeinern.
Ein Werkzeug zu verlieren, auf das man angewiesen ist, kann ein Geschenk sein. Torvalds baute für seinen eigenen härtesten Fall – riesige Historie, Tausende parallele Branches –, und ein Design, das zum härtesten Fall passt, passt in der Regel zu allen.
Seitdem
Junio Hamano ist seit der Übergabe im Juli 2005 Git-Maintainer, wobei Torvalds weiterhin beiträgt. Zwanzig Jahre später nennt GitLabs Rückblick von 2025 auf den ersten Commit die Zeile „information manager from hell“ das, was sie ist – den Gründungsscherz einer Infrastrukturschicht, durch die heute nahezu alle Software läuft. BitKeeper selbst wurde 2016 als Open Source freigegeben und ist eine Fußnote; Git ist der Standard. Die Krisenreaktion des Kernel-Projekts erwies sich, gemessen an der Verbreitung, als das erfolgreichste jemals gebaute interne Werkzeug.
DEN BELEGEN FOLGEN
Die Quellen
- A Short History of Git Pro Git book (git-scm.com) · git-scm.com
- A journey through Git's 20 year history GitLab blog · about.gitlab.com ·
- Git Wikipedia · en.wikipedia.org