Mostrar quando a última atividade do git branch foi

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:

Cenário

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 🙂