Número de confirmaciones de Git por autor en todas las ramas

307

Me gustaría obtener el número de confirmaciones por autor en todas las ramas. veo que

git shortlog -s -n

Imprime una lista muy bonita pero no cuenta las confirmaciones que aún no se fusionaron de otras ramas. Si itera este comando sobre cada rama, entonces obviamente las confirmaciones comunes se cuentan varias veces. ¿Me podría dar un script / comando que me daría la imagen general?

jabal
fuente
¿Alguna forma de incluir a los usuarios que no hicieron commits? Mostrarlos como 0?
niken
77
El problema es que todos los programadores del universo, excepto los confirmadores reales, son potencialmente usuarios con cero confirmaciones en su repositorio. Entonces la lista sería demasiado larga.
jabal

Respuestas:

620
git shortlog -s -n --all --no-merges

Le dará estadísticas para todas las sucursales.

EDITAR : agregado --no-mergespara excluir estadísticas de confirmaciones de fusión.

ralphtheninja
fuente
3
¿Alguna forma de excluir commits de fusión?
Animesh Sharma
9191
git shortlog -s -n --all --no-merges
DarkWanderer
66
Si alguien también necesita correos electrónicos, puede usar un -ecomando como este:git shortlog -s -n -e --all
Jaex
44
si necesita un período de tiempo, especifique--since="22 Aug 2017"
mBardos
16
@mBardos --since="22 Aug 2017" --before="01 Sept 2017"para obtener período
kuncevic.dev