Jak usunąć lokalne gałęzie gita poza main?

Czasem zachodzi potrzeba posprzątania lokalnego bałaganu w projekcie. Przydaje się to zazwyczaj kiedy robicie dużo code review dla swoich kolegów i koleżanek z zespołu. Gałęzie znikają po zmergowaniu ze zdalnego repozytorium, ale zostają lokalnie. Z pomocą przychodzi taki oto snippet:

git branch | grep -v "main" | xargs git branch -D

Jeśli używacie go często to warto zrobić sobie alias w .zshrc czy innym .bashrc. Dla przykładu można go nazwać gbr od Git Branch Reset.

alias gbr="git branch | grep -v "main" | xargs git branch -D"