Ein Branch ist ein eigener Strang der Geschichte eines Projekts. Auf ihm lässt sich arbeiten, ohne den Stand zu berühren, den alle anderen benutzen. Englisch branch heißt Zweig; im Deutschen wird meist der englische Begriff verwendet.
- Branch
Ein eigener Strang der Geschichte, auf dem gearbeitet wird, ohne den Hauptstand zu berühren.
Beispiel: „Für jede Aufgabe entsteht ein eigener Branch, der nach dem Zusammenführen wieder verschwindet.“Auch: Zweig. Technisch ist ein Branch nur ein Zeiger auf einen Commit; deshalb kostet das Anlegen nichts und geht sofort.
Der Hauptstand heißt je nach Projekt main, master oder develop. Er ist technisch ein Branch wie jeder andere, nur dass sich alle auf ihn geeinigt haben.
Wozu ein Branch gut ist
Er trennt angefangene Arbeit von fertiger. Solange eine Änderung auf einem eigenen Branch liegt, kann sie unfertig, kaputt oder verworfen sein, ohne dass jemanden das stört.
Daraus folgt der verbreitete Ablauf: ein Branch je Aufgabe, am Ende ein Pull Request, nach dem Zusammenführen verschwindet der Branch wieder. Ein Projekt hat damit laufend ein Dutzend Branches und trotzdem genau einen Stand, der gilt.
Wie lange ein Branch leben sollte
So kurz wie möglich. Je länger er neben dem Hauptstand herläuft, desto weiter laufen beide auseinander, und desto größer wird der Berg beim Zusammenführen. Ein Branch, der drei Wochen alt ist, bringt beim Merge fast sicher Konflikte mit.
Die Gegenmaßnahme ist unspektakulär: kleine Aufgaben, täglich den Hauptstand hereinholen, und zusammenführen, sobald die Sache steht.
Was ein Branch nicht ist
Keine Kopie der Dateien. Git legt beim Anlegen nichts an und beim Wechseln tauscht es nur die Dateien im Arbeitsverzeichnis aus. Deshalb geht beides in Bruchteilen einer Sekunde, auch bei großen Projekten.
Wer parallel an zwei Branches arbeiten will, ohne ständig zu wechseln, nimmt dafür einen Worktree.