DEV Community

Rodrigo de Avila
Rodrigo de Avila

Posted on

Git: estatísticas simples, bash-style

Interessado em algumas estatísticas para seu projeto? Quem fez quantos commits? Em que dia da semana foram feitos mais commits, e em que hora do dia? Bom, aqui temos algumas destas estatísticas. Todas elas em uma linha (ou duas, ou três) de bash script.

O ranking de commits, por autor, por número de commits.

git shortlog  -ns
Enter fullscreen mode Exit fullscreen mode

Os commits de um projeto, por dia da semana.

for i in Mon Tue Wed Thu Fri Sat Sun; do
    echo $( echo " $i: "; git shortlog  -n --format='%ad %s'| grep "$i " | wc -l);
done
Enter fullscreen mode Exit fullscreen mode

Os commits de um projeto, por dia da semana, a partir de uma determinada data. Interessante para ver a diferença quando o grupo de desenvolvedores muda, por exemplo. Se quiser contar os commits de antes de uma data, troque --since por --until.

for i in Mon Tue Wed Thu Fri Sat Sun; do
    echo $( echo " $i: "; git shortlog  -n --format='%ad %s' --since='2011-06-31'| grep "$i " | wc -l);
done
Enter fullscreen mode Exit fullscreen mode

Os commits de um projeto, por hora do dia.

for i in `seq -w 0 23`; do
    echo $( echo " $i:"; git shortlog  -n --format='%ad %s' | grep " $i:" | wc -l);
done
Enter fullscreen mode Exit fullscreen mode

Os commits de um projeto, por hora do dia, a partir de uma determinada data. Aqui também dá pra trocar --since por --until.

for i in `seq -w 0 23`; do
    echo $( echo " $i:"; git shortlog  -n --format='%ad %s' --until='2011-06-31' | grep " $i:" | wc -l);
done
Enter fullscreen mode Exit fullscreen mode

Top comments (0)