Git – remove branches locais não remotos

git branch -r | awk '{print $1}' | egrep -v -f /dev/fd/0 <(git branch -vv | grep origin) | awk '{print $1}' | xargs git branch -d

Explicação dos comandos:

  1. git branch -r: lista filiais remotas
  2. awk '{print $1}': embelezar a saída do comando anterior
  3. egrep -v -f /dev/fd/0 <(git branch -vv | grep origin): imprime a diferença entre ramos remotos e locais
  4. awk '{print $1}': embelezar o anterior
  5. xargs git branch -d: remove ramos locais encontrados no ponto 3

Usando os comandos omitindo o último, você terá uma prévia do que será removido.

Se você gostou da dica, siga-me em: https://twitter.com/niklongstone

Respostas relacionadas:

Remova todos os seus branches locais do git, mas mantenha o mestre