Resumir los cambios (inserciones y eliminaciones) en Git [cerrado]

47

Quiero ver cómo mi código base ha crecido con el tiempo. GitHub tiene una buena +/-visualización a lo largo de la lista de registros que da una idea de esto. ¿Hay algo similar que pueda usar con mi repositorio alojado de Google Code o sin conexión?

Agua de patata
fuente
1
Estoy votando para cerrar esta pregunta como fuera de tema debido al uso de herramientas específicas para el desarrollo de software. Estas preguntas pertenecen a Stack Overflow, pero esta pregunta es demasiado antigua para migrar.
Thomas Owens
lectura recomendada: ¿A dónde va mi pregunta git?
mosquito

Respuestas:

71

Hay algunas opciones nativas en Git para obtener datos sobre los cambios.

git log --stat mostrará la cantidad que se cambió cada archivo.

git whatchanged da algunos detalles en los archivos que fueron modificados.

git diff --stat <sha1> <sha2> da los archivos y la cantidad de cambios entre dos confirmaciones.

Hay muchos otros blogs que ofrecen varios registros formateados. Una búsqueda en Google puede señalarlo. También hacerlo git log --helple dará varias opciones para formatear el historial de su repositorio. Git tiene la capacidad de proporcionarle un poco de datos a través de las diversas logopciones de línea de comando (filtrado por autor, archivo, etc.).

Schleis
fuente
66
¡Hermosa! Gracias. Ahora también veo que --numstatproporciona un formato alternativo menos azucarado pero limpio.
Potatoswatter
18
--shortstatsolo imprimirá los totales.
casey
1
tenga en cuenta que git diff --stat <sha1> <sha2>no incluye inserciones y eliminaciones <sha1>, por lo que tendría que poner el shacommit justo antes <sha1>de incluir<sha1>
Vaibhav Vishal
18

Si conoce las confirmaciones que le gustaría comparar, podría intentar usar el git diffcomando con el --statargumento. Da salida como esta:

$ git diff --stat HEAD^ HEAD
_layouts/default.html |    1 -
_sass/_variables.scss |    2 +-
_sass/main.scss       |   42 +++++++++++++++---------------------------
3 files changed, 16 insertions(+), 29 deletions(-)
Mike Gossmann
fuente
2
Siempre ama un ejemplo que funcione para la mayoría de los casos (HEAD - 1) en lugar de una abstracción. Gracias Mike!
SimplGy