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.