Schema einer Versionsgeschichte: eine waagerechte Linie als Hauptzweig \"main\", von der an einem Punkt ein zweiter Zweig abzweigt, eigene Änderungspunkte durchläuft und später wieder in den Hauptzweig zurückgeführt wird (Merge).

Branch

Ein Branch ist eine abgezweigte Arbeitslinie in einem Projekt, an der man Änderungen ausprobieren kann, ohne die bestehende Version zu gefährden. Der Begriff stammt aus der Software-Entwicklung und ist dort der übliche Weg, wie mehrere Leute gleichzeitig an demselben Programm arbeiten.

Ein Branch ist eine Abzweigung von einem gemeinsamen Arbeitsstand. Programme bestehen aus Textdateien, und an diesen Dateien arbeiten oft viele Leute gleichzeitig. Damit sich niemand gegenseitig die Arbeit überschreibt, legt jeder eine eigene Kopie an, an der er allein herumbastelt. Genau diese Kopie heißt Branch, auf Deutsch schlicht Zweig. Später werden die Änderungen aus dem Zweig wieder in die Hauptversion zurückgeholt, oder man wirft den Zweig weg. Das Wort ist ein Bild aus der Botanik: aus einem Stamm wachsen Äste, die sich unabhängig voneinander entwickeln.

Warum Teams ohne Zweige im Chaos versinken

Stell dir vor, zwanzig Entwickler bearbeiten dieselbe Datei zur gleichen Zeit. Jeder speichert, wann er will. Nach einer Stunde weiß niemand mehr, welche Version die richtige ist. Branches lösen dieses Problem, indem sie jeder Arbeit ihren eigenen Raum geben. Erst am Ende wird zusammengeführt, und zwar bewusst und kontrolliert.

Der zweite Vorteil ist Sicherheit. Es gibt fast immer einen Hauptzweig, oft „main“ genannt, auf dem die Version liegt, die tatsächlich bei den Nutzern läuft. Dieser Zweig muss jederzeit funktionieren. Riskante Experimente passieren deshalb woanders. Geht ein Experiment schief, löscht man den Zweig, und der Hauptstand bleibt unberührt.

Für Unternehmen ist das auch eine Frage der Nachvollziehbarkeit. Jede Änderung hängt an einem Zweig, jeder Zweig an einer Person und einem Datum. Wenn eine Software einen Fehler hat, lässt sich zurückverfolgen, wann er hineingekommen ist. In regulierten Bereichen wie Banken oder Medizintechnik ist so eine Spur sogar vorgeschrieben.

Abzweigen, arbeiten, zusammenführen

Die Verwaltung der Zweige übernimmt eine Software zur Versionsverwaltung. Das mit Abstand verbreitetste Programm dafür heißt Git. Wer einen neuen Zweig erzeugt, kopiert dabei nicht das ganze Projekt. Git merkt sich nur, an welcher Stelle der Geschichte der Zweig beginnt und welche Änderungen seitdem dazugekommen sind. Deshalb dauert das Anlegen eines Zweigs Bruchteile einer Sekunde, auch bei riesigen Projekten.

Am Ende steht das Zusammenführen, im Fachjargon Merge. Git vergleicht die Änderungen beider Seiten und baut daraus eine gemeinsame Version. Meist klappt das automatisch, weil unterschiedliche Leute unterschiedliche Stellen bearbeitet haben. Haben aber zwei Personen dieselbe Zeile verändert, entsteht ein Konflikt. Dann muss ein Mensch entscheiden, welche Fassung gilt.

Ein häufiger Irrtum: Ein Branch ist kein Backup. Er schützt nicht vor Datenverlust, sondern trennt parallele Arbeitsstände voneinander. Ebenfalls wichtig ist die Abgrenzung zum Fork. Ein Fork ist eine vollständige eigene Kopie eines fremden Projekts, meist mit dem Ziel, es dauerhaft getrennt weiterzuentwickeln. Ein Branch dagegen bleibt normalerweise Teil desselben Projekts und ist auf Rückkehr angelegt.

Von GitHub bis zu Sprachmodellen

Am sichtbarsten sind Branches auf Plattformen wie GitHub oder GitLab. Dort liegt der Programmcode unzähliger Projekte offen im Netz. Wer eine Verbesserung beisteuern will, legt einen Zweig an und schickt einen sogenannten Pull Request, also die Bitte um Übernahme. Andere lesen den Vorschlag, kommentieren ihn und nehmen ihn an oder lehnen ihn ab.

In der KI-Welt taucht der Begriff auch außerhalb von reinem Programmcode auf. Auf der Plattform Hugging Face, einer Art Bibliothek für frei verfügbare KI-Modelle, liegen Modellversionen ebenfalls in Zweigen. So findet man neben der Hauptversion oft kleinere, sparsamere Varianten desselben Modells. Wer ein Modell einsetzt, sollte deshalb wissen, welchen Zweig er tatsächlich geladen hat.

Nebenbei hat das Wort in der Informatik noch eine zweite Bedeutung. Ein Branch ist auch eine Verzweigung im Programmablauf, also eine Wenn-dann-Entscheidung im Prozessor. Aus dem Zusammenhang wird meist schnell klar, welche Bedeutung gemeint ist. Geht es um Teams, Code-Verwaltung oder GitHub, ist fast immer der Entwicklungszweig gemeint.

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.