git gone – benutzerdefinierter Befehl zum Löschen aller auf dem Remote entfernten Branches
(erikschierboom.com)So richtet man einen benutzerdefinierten Befehl ein, der lokale Branches löscht, die nur noch auf dem eigenen Rechner vorhanden sind, wenn der Remote-Branch gelöscht wurde, während ein lokaler Branch diesen Remote-Branch verfolgt.
- Dabei wird ausgenutzt, dass der Status auf
[gone]wechselt, wenn ein verfolgter Remote-Branch gelöscht wird - Der Befehl
git goneführt zwei Dinge aus- Prune per
git fetch -p(Aktualisierung der Informationen zu gelöschten Remote-Branches) - Löscht alle lokalen Branches, die gelöschte Remote-Branches verfolgen
- Prune per
- Lokale Branches ohne verfolgten Remote-Branch werden nicht gelöscht
Wenn du in einem Terminal, in dem Git ausgeführt werden kann, den folgenden Befehl verwendest, kannst du git gone als benutzerdefinierten Befehl hinzufügen.
git config --global alias.gone "! git fetch -p && git for-each-ref --format '%(refname:short) %(upstream:track)' | awk '\$2 == \"[gone]\" {print \$1}' | xargs -r git branch -D"
Noch keine Kommentare.