Lab 04: Branching (Terminal)¶
Branches (Verzweigungen) sind eines der mächtigsten Konzepte in Git. Ein Branch ist im Grunde nur ein leichtgewichtiger Zeiger auf einen Commit. Dadurch ist das Erstellen und Wechseln von Branches in Git extrem schnell - ganz anders als in älteren Versionskontrollsystemen.
In dieser Übung erstellst du eigene Branches, wechselst zwischen ihnen und beobachtest, wie sich dein Arbeitsverzeichnis dabei verändert.
Aufgaben¶
Öffne das Terminal im Verzeichnis labs/04-basic-branching/exercise.
Branches erkunden¶
- Führe
git branchaus, um die vorhandenen Branches zu sehen. Es sollten zwei Branches existieren. - Auf welchem Branch befindest du dich gerade? (Erkennbar am
*in der Ausgabe.)
Einen neuen Branch erstellen¶
- Erstelle einen neuen Branch mit
git branch mybranch. - Führe
git brancherneut aus. Der neue Branch sollte in der Liste auftauchen - aber du bist noch nicht auf diesem Branch. - Wechsle mit
git switch mybranchauf deinen neuen Branch. - Wechsle mehrfach zwischen
masterundmybranchhin und her. Beobachte, wie sich die Ausgabe vongit statusverändert. Was fällt auf, wenn du zwischen den Branches wechselst, die unterschiedliche Dateien enthalten?
Commits auf verschiedenen Branches¶
- Stelle sicher, dass du auf
mybranchbist. - Erstelle eine Datei
file1.txtmit deinem Namen als Inhalt. - Füge die Datei hinzu und erstelle einen Commit.
- Schaue dir die Historie an:
git log --oneline --graph. Dein neuer Commit sollte sichtbar sein undmybranchzeigt darauf. - Wechsle zurück auf
master. - Führe
git log --oneline --grapherneut aus. Der Commit, den du aufmybranchgemacht hast, fehlt hier - er existiert nur auf dem anderen Branch. - Erstelle eine neue Datei
file2.txtund committe sie aufmaster. - Schau dir die gesamte Historie an:
git log --oneline --graph --all. Du siehst jetzt, dass die beiden Branches unterschiedliche Commits haben und auseinanderlaufen.
Unterschiede zwischen Branches¶
- Wechsle zurück auf
mybranch. - Ist
file2.txtin deinem Arbeitsverzeichnis sichtbar? Warum nicht? - Führe
git diff mybranch masteraus, um die Unterschiede zwischen den beiden Branches zu sehen.
Merke: Wenn du den Branch wechselst, passt Git dein Arbeitsverzeichnis automatisch an den Zustand des jeweiligen Branches an. Dateien erscheinen und verschwinden - sie sind aber nicht verloren, sondern existieren auf ihrem jeweiligen Branch weiter.
Nützliche Befehle¶
| Befehl | Beschreibung |
|---|---|
git branch |
Vorhandene Branches auflisten |
git branch <name> |
Neuen Branch erstellen |
git switch <name> |
Auf einen Branch wechseln |
git switch -c <name> |
Branch erstellen und direkt wechseln |
git log --oneline --graph --all |
Gesamte Historie aller Branches anzeigen |
git diff <branch1> <branch2> |
Unterschiede zwischen Branches anzeigen |