|

Veraltete Git-Branches loswerden

Jeder der über einen längeren Zeitraum an Software-Projekten arbeitet, die mit dem Version Control System "git" versioniert werden, sollte ab und zu veraltete lokale Branches löschen, die auf dem Origin gar nicht mehr existieren.

Mit git fetch -p kannst du die Referenzen entfernen, die auf dem Origin nicht mehr existieren.

Über git branch -vv wird dir nun der Status deiner aktuellen Branches im Projekt angezeigt. Das sieht zum Beispiel so aus:

$ git branch -vv
  master                 b900de9 [origin/master: behind 4] Fixed bug
  release/v3.8           fdd2f4e [origin/release/v3.8: behind 2] Fixed bug
  release/v3.9           0d680d0 [origin/release/v3.9: behind 2] Updated comments
  bug/1234               57379e4 [origin/bug/1234: gone] Fixed bug

Um alle veralteten lokalen Branches zu entfernen, die nicht mehr auf dem Origin existieren, können wir uns also folgendes Script als Alias speichern

git fetch -p && for branch in `git branch -vv | grep ': gone]' | awk '{print $1}'`; do git branch -D $branch; done