momius - stock.adobe.com

Wie man einen lokalen Branch in Git dauerhaft löscht

Projekte in GitFlow, GitHub Flow oder ähnlichen Plattformen verwenden ein lokales Git-Repository mit Branches, die am Ende nicht mehr benötigt werden. So löschen Sie diese.

Ob Sie nun GitFlow, GitHub Flow oder eine andere Entwicklungsplattform verwenden, die auf Branches aufbaut, am Ende haben Sie immer ein lokales Git-Repository, das mit nicht mehr benötigten Branches gefüllt ist.

Deshalb ist es gut zu wissen, wie man lokale Git-Branches dauerhaft löscht. Sie wollen sicher nicht, dass Hunderte von lokalen Branches Ihre Entwicklungsumgebung verschmutzen.

Es gibt einen einfachen Befehl, um einen einzelnen Git-Branch lokal zu löschen:

git branch --delete <branchname>

Schritte zum Löschen eines lokalen Git-Zweigs

Führen Sie die folgenden Schritte aus, um den Befehl zum Löschen eines lokalen Git-Zweigs zu erteilen:

  1. Öffnen Sie eine Git-BASH oder eine Eingabeaufforderung im Stammverzeichnis Ihres Git-Repositorys.
  2. Verwenden Sie bei Bedarf den Befehl git switch oder checkout, um den Branch zu verlassen, den Sie löschen möchten.
  3. Geben Sie folgenden Befehl ein:
    git branch --delete <branchname>​
  4. Führen Sie den Befehl git branch -a aus, um zu überprüfen, ob der lokale Git-Branch gelöscht wurde.

Wann ein Branch nicht gelöscht werden kann

Eine Regel für das Löschen eines lokalen Git-Branchs besagt, dass Sie einen Branch, der gerade ausgecheckt ist, nicht löschen können.

Wenn Sie versuchen, einen lokalen Git-Branch zu löschen, während er gerade ausgecheckt ist, wird die Fehlermeldung Cannot delete branch angezeigt (siehe unten):

git@DELETE /c/local/branch (main)
$ git branch -a
* main
new-branch
old-branch
git@DELETE /c/local/branch (main)
$ git branch --delete main
error: Cannot delete branch 'main' checked out at 'C:/git/delete'

Im obigen Beispiel hat der Benutzer versucht, den Haupt-Git-Branch zu löschen, während er ausgecheckt war, was zu einem Fehler führte.

Das Löschen der lokalen Git-Branches mit den Namen new-branch oder old-branch wäre jedoch erfolgreich, da diese Branches nicht ausgecheckt sind:

git@DELETE /c/local/branch (main)
$ git branch --delete old-branch
Deleted branch old-branch (was 44a55a1).

Befehl zum Löschen eines lokalen Git-Branch

Der Befehl zum Löschen eines lokalen Git-Branch kann auf zwei Arten erfolgen:

git branch -delete old-branch
git branch -d old-branch

Der einzige Unterschied besteht darin, dass der zweite Git-Befehl zum Löschen eines lokalen Branchs eine abgekürzte Syntax verwendet. Beide Befehle bewirken genau das Gleiche.

Löschen von Git-Branches auf Remote- oder lokaler Ebene

Beachten Sie, dass beim Löschen eines lokalen Git-Branchs der entsprechende Remote-Branch in einem Repository wie GitHub oder GitLab weiterhin aktiv bleibt.

Wenn Sie sowohl lokale als auch Remote-Branchs löschen möchten, müssen Sie weitere Schritte unternehmen.

Abbildung 1: Wenn Sie einen lokalen Git-Branch löschen, wird dies nicht in einem entfernten Repository wie GitHub oder GitLab angezeigt.
Abbildung 1: Wenn Sie einen lokalen Git-Branch löschen, wird dies nicht in einem entfernten Repository wie GitHub oder GitLab angezeigt.

Löschen eines Remote-Branchs

Um einen Remote-Banch in einem Repository wie GitHub oder GitLab zu entfernen, wird der Befehl git push origin mit dem Switch --delete und einem Verweis auf den zu löschenden Branch verwendet.

Mit dem folgenden Befehl wird beispielsweise ein Remote-Branch namens old-branch gelöscht:

git@DELETE /c/local/remote/branch (main)
git push origin --delete old-branch
*  [deleted]      alpha
Remote Git branch delete alpha successful

Die folgende Abbildung zeigt, wie lokale und Remote-Branches gelöscht werden:

Lokale und Remote-Git-Branches löschen
Abbildung 2: Diese Befehle löschen sowohl lokale als auch Remote-Git-Branches.

Erfahren Sie mehr über Softwareentwicklung