Para remover ramos git e remover remotos órfãos, criei um alias chamado branch-cleanup
:
Primeiro, busco a origem remota com --prune
, para remover referências a branches excluídos no remoto:
git fetch origin --prune
Em seguida, listo os branches aos quais foram mesclados origin/master
, excluo o branch master e passo essa lista para git branch -d
usar xargs
:
git branch --merged origin/master | grep -v 'master$' | xargs git branch -d
Para criar um alias para isso, execute o seguinte:
git config --global alias.branch-cleanup "!git fetch origin --prune && git branch --merged origin/master | grep -v 'master$' | xargs git branch -d"