¿Es posible enumerar todos los usuarios que contribuyeron a un proyecto (usuarios que han realizado confirmaciones) en Git?
¿Alguna estadística adicional?
¿Es posible enumerar todos los usuarios que contribuyeron a un proyecto (usuarios que han realizado confirmaciones) en Git?
¿Alguna estadística adicional?
Respuestas:
Para mostrar todos los usuarios y correos electrónicos, y el número de confirmaciones en la rama ACTUAL:
git shortlog --summary --numbered --email
O simplemente:
git shortlog -sne
Para mostrar a los usuarios de todas las sucursales (no solo las de la sucursal actual) debe agregar una --allbandera:
git shortlog -sne --all
-e.
--allbandera
git shortlog --summary --numbered <pathToFile>
Si desea ser más específico en la lista (encontrar una lista de autor y autor únicos), puede usar git log:
git log --pretty="%an %ae%n%cn %ce" | sort | uniq
%an nombre del autor%ae correo electrónico del autor%n nueva línea%cn nombre del confirmador%ce correo electrónico de confirmaciónOtros marcadores de posición se describen en la bonita documentación impresa degit log .
%nque no tiene mucho sentido en combinación con (basado en líneas) sort, ¿verdad? La línea registra el autor / nombre del confirmador / correo electrónico en líneas separadas, pero se clasifica en toda la salida ...
Puedes probar esto:
git log | grep Author: | sort | uniq
(usuarios que han realizado confirmaciones)
Nota: por defecto, los git shortloggrupos se comprometen por autores .
Si necesita agruparlos por committers, necesitará Git 2.12 (Q1 2017)
git shortlog -snc
Ver commit 03f4082 (16 de diciembre de 2016) por Jeff King ( peff) .
Ver commit fbfda15 (11 de octubre de 2016) por Linus Torvalds ( torvalds) .
(Fusionada por Junio C Hamano - gitster- en commit ad1b4e2 , 27 dic 2016)
El propio Linus Torvalds presenta esta característica:
shortlog: información de grupo por confirmadorEn algunas situaciones, es posible que desee agrupar las confirmaciones no por autor, sino por confirmador.
Por ejemplo, cuando solo quería buscar lo que todavía me falta
linux-nexten la ventana de fusión actual, no me importa tanto quién escribió un parche,git treesino de qué vino, que generalmente se reduce a "quién cometió eso".Entonces, haga que git shortlog tome una opción "
-c" o "--committer" para cambiar la agrupación a eso.
Otra opción puede ser:
git log --format='%aN' | sort -u
Todavía no he podido probarlo, pero esto se ve muy bien para las estadísticas del proyecto para un repositorio de Git: https://github.com/visionmedia/git-extras
Revisar la bin catálogo para ver los diferentes guiones.
Por ejemplo, el git-countscript (número de confirmaciones por confirmador):
git shortlog -n $@ | grep "):" | sed 's|:||'
Grandes respuestas de @ pedro-nascimento, de @mic_e y otros ya resuelven el problema.
Además, puede agregar la siguiente línea a su .gitconfig
contributors = shortlog -e --summary --numbered
o en tipo de concha
git config --global alias.contributors 'shortlog -e --summary --numbered'
Y después de eso, simplemente puede invocar: git contributors
git contributors
Puedes probar un paquete increíble llamado git-extras . Específicamente, los comandos git-summary , git-count y quizás algún otro .
git shortlog -sn HEAD