Löschen Sie zusammengeführte Branches in Git

Reema Faysal 30 Januar 2023
  1. Anzeigen der bestehenden Zweige in Git
  2. Löschen Sie mehrere lokale zusammengeführte Branches auf einmal in Git
  3. Löschen Sie lokale und entfernte zusammengeführte Branches in Git
Löschen Sie zusammengeführte Branches in Git

In Git ist Verzweigung notwendig, um mit vielen Teammitgliedern zu arbeiten. Branches stellen Momentaufnahmen der Änderungen dar, die in der Vergangenheit in Git vorgenommen wurden.

Wenn wir einen neuen Zweig in Git erstellen, soll er die Änderungen enthalten, die wir vorgenommen haben, um die Fehler zu beheben oder neue Funktionen hinzuzufügen.

Über Git können wir Branches einfach verwalten, ob wir sie erstellen oder mithilfe von Befehlen löschen. Das Löschen von Branches ist in Git keine Ausnahme.

Viele Entwickler fühlen sich zufrieden, wenn ihr Git-Repository sauber ist, indem sie die zusammengeführten Zweige löschen, und sie können leicht für die neue Entwicklung zu den vorhandenen Zweigen übergehen.

Sehen wir uns an, wie bereits zusammengeführte Branches mit den folgenden Befehlen in Git entfernt werden.

Anzeigen der bestehenden Zweige in Git

Bevor wir mit dem Löschen der vorhandenen Branches in einem Repository beginnen, werfen wir einen Blick auf die gesamte Liste der Branches, indem wir den folgenden Befehl ausführen:

git branch

Um die Liste aller Remote-Branches anzuzeigen, führen wir den folgenden Befehl aus:

git branch -r

Um die Liste aller Branches (lokal und remote) anzuzeigen, führen wir den folgenden Befehl aus:

git branch -a

Als Ergebnis dieser Befehle sehen wir eine Liste von Zweigen. Nicht alle Zweige, die wir sehen können, sollten gelöscht werden. Unser Ziel ist es, die bereits zusammengeführten Zweige zu bereinigen.

Um die Liste aller lokalen zusammengeführten Branches anzuzeigen, führen wir den folgenden Befehl aus:

git branch --merged

Um die Liste aller lokalen, nicht zusammengeführten Branches anzuzeigen, führen wir den folgenden Befehl aus:

git branch --no-merged

Löschen Sie mehrere lokale zusammengeführte Branches auf einmal in Git

Zweige einzeln zu löschen ist viel zeitaufwändiger und nicht der richtige Job. Natürlich sind wir Entwickler und ziehen es nicht vor, eine sich wiederholende Aufgabe zu erledigen, wenn wir sie mit einigen Befehlen robotisieren können.

Wie wir in der Liste der zusammengeführten Zweige gesehen haben, kann es einige Zweige geben, die wir in Zukunft nicht löschen möchten. Zu diesem Zweck fügen wir einige Argumente mit dem Befehl zum Löschen aller zusammengeführten Zweige hinzu, um die Zweige auszuschließen, die wir nicht löschen möchten.

Der folgende Befehl enthält nicht den Zweig master und alles, was dev enthält:

git branch --merged| egrep -v "(^\*|master|main|dev)"

Wenn wir einen anderen Zweig überspringen möchten, fügen wir den Namen wie folgt hinzu:

git branch --merged| egrep -v "(^\*|master|main|dev|skip_branch_name)"

Angenommen, wir möchten die vorhandenen lokalen Zweige des Repositorys löschen, die bereits in der Vergangenheit mit dem aktuell ausgecheckten Zweig des Repositorys zusammengeführt wurden. In diesem Fall führen wir den folgenden Befehl aus:

git branch --merged | grep -i -v -E "master|dev"| xargs git branch -d

Löschen Sie lokale und entfernte zusammengeführte Branches in Git

Um einen zusammengeführten lokalen Zweig zu löschen, führen wir den Befehl git branch mit der Option -d aus, wie unten erwähnt.

git branch -d <branch-name>

Wenn der lokale Zweig nicht zusammengeführt wird, führen wir den folgenden Befehl aus:

git branch -D <branch-name>

Wenn wir es von der Fernbedienung löschen möchten, führen wir den Befehl git push mit der Option --delete aus (hier ist der Name der Fernbedienung der Ursprung, was standardmäßig der Fall ist):

git push --delete origin <branch-name>

Alternativ können wir auch folgenden Befehl verwenden:

git push origin :<branch-name>

Nachdem wir den Branch von der Remote gelöscht haben, werden wir mit dem folgenden Befehl beschneiden, um Remote-Tracking-Branches zu eliminieren:

git remote prune origin

Einzeln können wir Remote-Tracking-Zweige auch mit dem folgenden Befehl beschneiden:

git branch -dr <branch-name>

Verwandter Artikel - Git Merge