Buscar..


Sintaxis

  • registro git [<opciones>] [<rango de revisión>] [[-] <ruta>]
  • git log --pretty = short | git shortlog [<opciones>]
  • git shortlog [<opciones>] [<rango de revisión>] [[-] <ruta>]

Parámetros

Parámetro Detalles
-n , --numbered Ordenar la salida según el número de confirmaciones por autor en lugar de orden alfabético
-s , --summary Solo proporcione un resumen de conteo de compromiso
-e , - --email Mostrar la dirección de correo electrónico de cada autor.
--format [= <formato>] En lugar del sujeto de confirmación, use alguna otra información para describir cada confirmación. <format> puede ser cualquier cadena aceptada por la opción --format del git log de git log .
-w [<width> [, <indent1> [, <indent2>]]] Linewrap la salida envolviendo cada línea en el width . La primera línea de cada entrada está sangrada por el número de espacios de sangría indent1 , y las líneas subsiguientes están sangradas por espacios de sangría indent2 .
<rango de revisión> Mostrar solo confirmaciones en el rango de revisión especificado. Predeterminado a todo el historial hasta la confirmación actual.
[ -- ] <ruta> Mostrar solo confirmaciones que explican cómo llegaron a ser los archivos que coinciden con la path . Es posible que las rutas deban tener el prefijo "-" para separarlas de las opciones o del rango de revisión.

Compromisos por desarrollador

Git shortlog se utiliza para resumir los resultados del registro de git y agrupar las confirmaciones por autor.

De forma predeterminada, se muestran todos los mensajes de confirmación, pero el argumento --summary o -s omite los mensajes y proporciona una lista de autores con su número total de confirmaciones.

--numbered o -n cambia el orden alfabético (por el autor ascendente) al número de confirmaciones descendentes.

git shortlog -sn        #Names and Number of commits

git shortlog -sne       #Names along with their email ids and the Number of commits

o

git log --pretty=format:%ae \
| gawk -- '{ ++c[$0]; } END { for(cc in c) printf "%5d %s\n",c[cc],cc; }'

Nota: Los compromisos de la misma persona no se pueden agrupar cuando su nombre y / o dirección de correo electrónico se han escrito de manera diferente. Por ejemplo, John Doe y Johnny Doe aparecerán por separado en la lista. Para resolver esto, consulte la función .mailmap .

Compromisos por fecha

git log --pretty=format:"%ai" | awk '{print " : "$1}' | sort -r | uniq -c

Número total de confirmaciones en una sucursal.

git log  --pretty=oneline |wc -l

Listado de cada sucursal y fecha de su última revisión.

for k in `git branch -a | sed s/^..//`; do echo -e `git log -1 --pretty=format:"%Cgreen%ci %Cblue%cr%Creset" $k --`\\t"$k";done | sort

Líneas de código por desarrollador

git ls-tree -r HEAD | sed -Ee 's/^.{53}//' | \
while read filename; do file "$filename"; done | \
grep -E ': .*text' | sed -E -e 's/: .*//' | \
while read filename; do git blame --line-porcelain "$filename"; done | \
sed -n 's/^author //p' | \
sort | uniq -c | sort -rn

Listar todas las confirmaciones en formato bonito

git log --pretty=format:"%Cgreen%ci %Cblue%cn  %Cgreen%cr%Creset %s"

Esto le dará una buena descripción de todos los compromisos (1 por línea) con fecha, usuario y mensaje de confirmación.

La opción --pretty tiene muchos marcadores de posición, cada uno empezando con % . Todas las opciones se pueden encontrar aquí.

Encuentra todos los repositorios locales de Git en la computadora

Para enumerar todas las ubicaciones de repositorio de git en su puede ejecutar lo siguiente

find $HOME -type d -name ".git"

Suponiendo que haya locate , esto debería ser mucho más rápido:

locate .git |grep git$

Si tiene gnu locate o mlocate , esto seleccionará solo los mlocate git:

locate -ber \\.git$

Mostrar el número total de confirmaciones por autor.

Para obtener el número total de confirmaciones que cada desarrollador o colaborador ha realizado en un repositorio, simplemente puede utilizar el git shortlog :

git shortlog -s

que proporciona los nombres de los autores y el número de confirmaciones de cada uno.

Además, si desea que los resultados se calculen en todas las ramas, agregue --all flag al comando:

git shortlog -s --all


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow