Git Branches Wechseln
Das Wechseln von Branches in Git bedeutet, dass dein Arbeitsverzeichnis so angepasst wird, dass es dem Zustand eines bestimmten Branches entspricht. Wenn du den Branch wechselst, passt Git die Dateien in deinem Arbeitsverzeichnis an den Stand des Ziel-Branches an. Dafür verschiebt Git den „HEAD“-Zeiger, der angibt, auf welchem Branch du dich gerade befindest. Dadurch kannst du problemlos zwischen verschiedenen Entwicklungsumgebungen wechseln, ohne deine Arbeit zu verlieren. In diesem Leitfaden wird erklärt, wie du mit dem Befehl git switch
zwischen lokalen und entfernten Branches wechseln kannst.
Kurzfassung
Wenn du bereits Erfahrung mit Git hast und nur eine schnelle Übersicht der wichtigsten Befehle zum Branch-Wechsel benötigst, findest du sie hier:
# Wechsel zu einem bestehenden lokalen Branch
$ git switch <branch_name>
# Neuen Branch erstellen und direkt wechseln
$ git switch -c new_branch_name
# Wechsel zu einem Remote-Branch
$ git switch -c branch_name origin/branch_name
Im Folgenden findest du detaillierte Erklärungen und Beispiele zur Anwendung.
Branches in Git wechseln
In diesem Abschnitt wird der Befehl git switch
ausführlich erklärt.
Erklärung des Befehls
Der Befehl git switch
(seit Git-Version 2.23 verfügbar) passt dein Arbeitsverzeichnis so an, dass es dem Ziel-Branch entspricht.
Befehlssyntax mit Erklärung
Die Standard-Syntax zum Wechseln auf den Main-Branch lautet:
git switch <branch-name>
Aufschlüsselung der Bestandteile:
git switch
: Der Befehl zum Wechseln des Branches.<branch-name>
: Der Ziel-Branch, zu dem gewechselt werden soll.
Befehls-Flags
Zum Wechseln auf einen bestehenden Branch wie main sind keine zusätzlichen Flags erforderlich. Nützliche Optionen sind jedoch:
-f
oder--force
: Erzwingt den Wechsel und verwirft ungespeicherte Änderungen (Vorsicht: Datenverlust möglich).--merge
: Versucht, die Änderungen des aktuellen Branches in den Ziel-Branch zu übernehmen.--detach
: Wechselt in einen „detached HEAD“-Zustand am Ziel-Commit.
Befehls-Demonstration
Beispiel: Wechsel zum Main-Branch.
Prüfe zunächst den aktuellen Branch:
$ git branch
Beispielausgabe:
feature-login * hotfix-header main
Hier befindest du dich aktuell auf dem Branch hotfix-header (durch den Stern markiert).
Wechsel nun auf den Main-Branch:
$ git switch main
Ausgabe:
Switched to branch 'main' Your branch is up to date with 'origin/main'.
Überprüfe erneut, ob du nun auf main bist:
$ git branch
Ausgabe:
feature-login hotfix-header * main
Der Stern ist nun beim Branch main – du befindest dich also erfolgreich auf diesem Branch.
Zu einem neuen Branch wechseln
Um einen neuen Branch zu erstellen und direkt zu wechseln, nutze:
$ git switch -c <new_branch_name>
Das Flag -c
(oder --create
) erstellt einen neuen Branch und wechselt sofort hinein. Weitere nützliche Flags sind:
-C
oder--force-create
: Erstellt den Branch oder setzt ihn zurück, falls er bereits existiert.--track
: Richtet Tracking-Informationen für den Branch ein.--no-track
: Verhindert das Einrichten von Tracking-Informationen.
Zu einem Remote-Branch wechseln
Remote-Branches liegen auf externen Repositories und müssen meist erst abgeholt werden. Besonders bei Teamarbeit ist es üblich, einen lokalen Branch zu erstellen, der den Remote-Branch nachverfolgt.
Zuerst alle Remote-Branches abrufen:
$ git fetch
Dann einen lokalen Tracking-Branch erstellen und direkt wechseln:
$ git switch -c <branch_name> origin/<branch_name>
Erklärung der Bestandteile:
git switch
: Der Befehl zum Wechseln des Branches.-c
: Erstellt einen neuen lokalen Branch.<branch_name>
: Name des lokalen Branches (meist identisch mit dem Remote).origin/<branch_name>
: Verweis auf den Remote-Branch.
Ab Git 2.23+ gibt es eine kürzere Variante:
$ git switch --track origin/<branch_name>
Damit wird der Remote-Branch automatisch unter demselben Namen lokal verwendet.
Weitere nützliche Flags:
--track
oder-t
: Richtet Branch-Tracking ein.--no-track
: Unterbindet Branch-Tracking.-c
: Erzwingt das Erstellen des Branches auch bei vorhandener Version.
Fazit
Du hast nun gelernt, wie du mit git switch
zwischen verschiedenen Branches in Git wechseln kannst. Du kannst bestehende Branches aufrufen, neue Branches erstellen und zu Remote-Branches wechseln. Diese Kenntnisse sind entscheidend für einen reibungslosen Git-Workflow und ermöglichen es dir, effizient an mehreren Features oder Fehlerbehebungen parallel zu arbeiten. Weitere Informationen findest du in der offiziellen Git-Dokumentation.