Was ist ein Branch in Git?
Ein Branch in Git ist eine eigene Linie von Commits, auf der Sie arbeiten, ohne die Hauptlinie zu stören. Damit probieren Sie Änderungen aus und behalten trotzdem einen sauberen Stand.
Ein Café will im Sommer eine neue Frühstückskarte testen. Die alte Karte soll bis zum Start unverändert bleiben. Genau dafür gibt es einen Branch.
Am Ende dieser Lektion
Notiz
Ich kann auf einem Branch arbeiten und zwischen Branches wechseln.
Schlüsselbegriffe
| Begriff | Was er bedeutet |
|---|---|
| Branch | eine eigene Linie von Commits |
| Hauptbranch | die Linie, die als fertig gilt, hier main |
| HEAD | der Commit, auf dem Sie gerade stehen |
| Wechseln | die Dateien auf den Stand eines anderen Branches setzen |
| Commit-Graph | das Bild aller Commits und ihrer Vorgänger |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Zuerst ein Repository mit einer Speisekarte
Sie legen wie in der letzten Lektion einen Ordner an: cafe. Er bekommt eine Datei karte.txt mit einem Getränk und einen ersten Commit auf main.
Ein Repository namens cafe anlegen
git init -b main cafeHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Ihren Namen für diesen Ordner setzen
git -C cafe config user.name "Studierende"Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Ihre Adresse für diesen Ordner setzen
git -C cafe config user.email "[email protected]"Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Die Karte mit einem Getränk schreiben
printf 'Kaffee 2.80\n' > cafe/karte.txtHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Die Karte vormerken
git -C cafe add karte.txtHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Den ersten Commit auf main speichern
git -C cafe commit -m "Karte angelegt"Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Ein neuer Branch beginnt am aktuellen Commit
Ein Branch ist ein Name, der auf einen Commit zeigt. Mit jedem neuen Commit rückt der Name des aktuellen Branches mit vor. HEAD zeigt, auf welchem Branch Sie stehen.
git switch -c fruehstueck legt den Branch fruehstueck an und wechselt sofort dorthin. Ab jetzt landen Ihre Commits auf diesem Branch, und main bleibt stehen.
Den Branch fruehstueck anlegen und wechseln
git -C cafe switch -c fruehstueckHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Ein Croissant auf die Karte schreiben
printf 'Croissant 2.20\n' >> cafe/karte.txtHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Die Änderung auf dem Branch speichern
git -C cafe commit -am "Croissant aufnehmen"Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Alle Branches auflisten
git -C cafe --no-pager branchHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Zwei Linien zeigen zwei Stände
Beim Wechseln ändert Git die Dateien im Ordner. Auf main hat die Karte nur den Kaffee, auf fruehstueck auch das Croissant.
Mit git log main..fruehstueck fragen Sie: Welche Commits hat fruehstueck, die main nicht hat? Die zwei Punkte stehen für "ohne".
Commits nur auf fruehstueck auflisten
git -C cafe --no-pager log --format=%s main..fruehstueckHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Zurück auf main wechseln
git -C cafe switch mainHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Die Karte auf main lesen
cat cafe/karte.txtHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Ein häufiger Irrtum
Warnung
Viele glauben, ein Branch sei ein Ordner mit einer Kopie aller Dateien. Er ist nur ein Name für einen Commit. Die Dateien im Ordner zeigen immer den Stand des Branches, auf dem Sie stehen. Erst ein Wechsel tauscht sie aus.