Então, aqui no trabalho, temos muitas pessoas trabalhando em várias filiais. Às vezes, os ramos são mesclados em nosso mestre e as pessoas se esquecem de removê-los do controle remoto.
Então, fiz um pequeno script para me mostrar quando foi a última atividade em cada ramo; Basta criar um alias do código abaixo para algumas funções (ou criar um executável em seu caminho para que você possa executá-lo de qualquer repositório que tenha em sua máquina)
for branch in `git branch -a`;
do;
if [ $branch != "*" ]; then;
hasAct=$(git log --abbrev-commit --date=relative -1 $branch);
lastActivity=$(echo "$hasAct" | grep Date: | sed 's/Date: //');
echo "$branch last activity was\033[1;31m$lastActivity\033[0m";
echo ""
fi;
done;
Você obterá algo como a saída abaixo:
A partir daí, você pode ver qual branch não foi atualizado por um tempo e excluir se quiser.
Tenho outra versão que me mostra apenas os branches que não foram atualizados nos últimos 15 dias. Você poderia automatizar a exclusão desses branches ou enviar um relatório para si mesmo por e-mail … De qualquer forma, espero que tenham gostado da dica 🙂