Zum Inhalt springen

Git-Branch

Definition

Der Befehl git branch erstellt, listet und löscht Branches. Er ermöglicht nicht das Wechseln zwischen Branches oder das Zusammenführen einer verzweigten Historie. Daher ist git branch in die Befehle git checkout und git merge integriert.

git branch

Verwendung von Git-Branches

Branching ist eine Funktion, die in den meisten Versionskontrollsystemen verfügbar ist. Git-Branches sind Verweise auf einen Schnappschuss der vorgenommenen Änderungen. Ein neuer Branch wird erstellt, um Änderungen zu kapseln, wenn Sie Fehler beheben oder neue Funktionen hinzufügen möchten. Dies hilft Ihnen, die zukünftige Historie aufzuräumen, bevor Sie sie zusammenführen. Git-Branches sind ein wesentlicher Bestandteil des täglichen Arbeitsablaufs. Git kopiert keine Dateien von einem Verzeichnis in ein anderes, sondern speichert den Branch als Verweis auf ein Commit.

Funktionsweise

Branches repräsentieren eine isolierte Entwicklungsrichtung. Sie werden verwendet, um ein neues Arbeitsverzeichnis, einen Staging-Bereich und die Projekthistorie anzufordern. Die Entwicklung isolierter Entwicklungsrichtungen für zwei Funktionen in Branches ermöglicht es, parallel daran zu arbeiten und den Master-Branch von fragwürdigem Code freizuhalten.

git branch1

Häufige Optionen

git branchListet alle Branches im Repository auf (entspricht git branch --list).
git branch <branch>Erstellt einen neuen Branch namens <branch>, checked out ihn jedoch nicht.
git branch -d <branch>Löscht einen Branch. Wenn nicht zusammengeführte Änderungen vorhanden sind, erlaubt Git das Löschen nicht.
git branch -D <branch>Erzwingt das Löschen des Branches, auch bei nicht zusammengeführten Änderungen. Führen Sie diesen Befehl nur aus, wenn Sie sicher sind, dass er dauerhaft gelöscht werden soll.
git branch -m <branch>Verschiebt oder benennt den aktuellen Branch in <branch> um.
git branch -aListet alle lokalen und Remote-Branches auf.

Branches erstellen

Branches sind lediglich Verweise auf Commits. Wenn Sie einen Branch erstellen, erstellt Git einen neuen Verweis. Dies ändert nicht die Historie des Repositorys.

git branch2

Sie können einen Branch mit dem Befehl git branch erstellen:

der Befehl git branch

bash
git branch test_branch

Die Historie des Repositorys bleibt unverändert. Ein neuer Verweis auf das aktuelle Commit wird erstellt:

git branch3

Der neu erstellte Branch sollte mit git checkout ausgewählt und anschließend git add sowie git commit verwendet werden, um Commits hinzuzufügen.

Remote-Branches erstellen

Der Befehl git branch arbeitet nicht nur mit lokalen Branches, sondern auch mit Remote-Branches. Das Erstellen eines Branches in einem Remote-Repository muss konfiguriert und zur lokalen Repository-Konfiguration hinzugefügt werden:

der Befehl git branch

bash
git remote add new-remote-repo https://hostname/user/repo.git
# Add remote repo to local repo config
git push <new-remote-repo> test_branch
# pushes the test_branch branch to new-remote-repo

Branches löschen

Nachdem Sie die Arbeit an einem Branch abgeschlossen und ihn in den Hauptmaster zusammengeführt haben, können Sie ihn löschen:

Git: Branches löschen

bash
git branch -d test_branch

Wenn nicht zusammengeführte Änderungen verbleiben, tritt ein Fehler auf:

Git: Fehler beim Löschen des Branches

bash
error: The branch 'test_branch' is not fully merged.
If you are sure you want to delete it, run 'git branch -D test_branch'.

Wenn Sie sicher sind, dass Sie den Branch dauerhaft löschen möchten, können Sie den Befehl git branch mit der Großbuchstaben-Option -D verwenden:

Git-Branch: Erzwingendes Löschen

bash
git branch -D test_branch

Die oben genannten Befehle löschen nur die lokale Kopie eines Branches. Der Branch kann weiterhin in Remote-Repositorys vorhanden sein. Führen Sie Folgendes aus, um den Remote-Branch zu löschen:

Remote-Branch mit Git löschen

bash
git push origin --delete test_branch

oder

Git: Remote-Branch löschen

bash
git push origin :test_branch

Praxis

Welche Funktionen und Möglichkeiten bietet der Befehl 'git branch'?

Finden Sie das nützlich?

Dual-run-Vorschau — vergleichen Sie mit den Symfony-Routen live.