Alte Branches in git löschen

Während der Entwicklung ist es wichtig sein lokales Quellcode Repository immer mal aufzuräumen. Im Artikel wird gezeigt, wie alte und nicht mehr benötigte Branches in git entfernt werden können.

Kommt bei der Entwicklung git für die Verwaltung des Quellcodes zum Einsatz, liegt es nahe, dafür neue Funktionen, Bugfixes etc. auch eigene Branches zu nutzen. Nach einer gewissen Zeit wird so die Liste der lokalen Branches immer länger, obwohl die Änderungen bereits in den Hauptzweig in einem zentralen Repository eingeflossen sind. Daher müssen hin und wieder alte und nicht mehr benötigte Branches gelöscht werden.

Eine Liste mit allen zusammengeführten Branches wird mit dem folgenden Kommando ausgegeben.

$ git branch --merged

Anschließend kann jeder Branch einzel gelöscht werden.

$ git branch -d <name der zu löschenden branch>

Je nach Anzahl der Branches ist dies sehr zeitaufwändig und in fast allen Fällen sehr langweilig. Aber selbst verständlich lässt sich der Vorgang auch weiter automatisieren. Ein Beispiel hierfür ist in der folgenden Zeile zu finden.

$ git branch --merged | egrep -v '^(\s+master|\*\s+.*)$' | xargs git branch -d

Der Befehl setzt sich drei Teilen zusammen, die im Einzelnen das folgende machen.

  1. Auflisten aller Branches, die mit dem aktuellen Branch zusammengeführt wurden
  2. Der master Branch und der aktuell aktive werden per egrep aus der Liste entfernt.
  3. Löschen der Branches. Wer bereits sehr sehr viele angesammelt hat, kann mit der Option -n <anzahl> die Anzahl an git mit einem Mal übergebenen Branches reduzieren.

Links

  • Webseite: git (englisch)

Verwandte Artikel