Talvez você às vezes seja tão preguiçoso quanto eu e não limpe seus branches git depois de fundi-los. Talvez alguns outros membros da equipe tenham esquecido de limpar. Talvez alguns macacos tenham surgido, criado um monte de galhos e não contado a ninguém. Seja qual for o motivo, às vezes você só quer saber o que está mesclado e o que não é. Basta adicionar os seguintes aliases à sua configuração git e você obterá uma lista de branches com seu último autor e última data de commit:
unmerged = !git branch -r --no-merged | grep -v HEAD | xargs -L1 git --no-pager log --pretty=tformat:'%Cgreen%d%Creset - %h by %an (%Cblue%ar%Creset)' -1
merged = !git branch -r --merged | grep -v HEAD | xargs -L1 git --no-pager log --pretty=tformat:'%Cgreen%d%Creset - %h by %an (%Cblue%ar%Creset)' -1
Nota: cada um dos aliases deve estar em uma linha
Bônus
Se você deseja remover branches mesclados ou não mesclados do controle remoto, você pode executar este comando:
git branch -r --merged | grep -v master |
ruby -ne '`git push origin #{$_.gsub("origin/", ":")}`'