Às vezes, você tem uma lista enorme de ramos mesclados.
git checkout master
git branch -d $(git branch --merged | sed '/* /d' | sed 's/^..//' | paste -sd " ")
O que isso faz?
tipo git branch --merged
sed '* /d'
irá remover o seu ramo
sed 's/^..//'
irá remover os dois espaços na frente de cada ramo
paste -sd " "
irá colocar todas as linhas em uma linha separada por um único espaço.
git branch -d
exclua os ramos.
Nota
git branch --merged
irá realmente listar quaisquer branches que apontam para um commit dentro de seu branch atual. Se você digitar, git branch foo
o branch foo fará referência a um commit dentro do branch atual, então o git o marcará como “mesclado”.