Cree un logging de líneas de cambios de código por file y comprométase con git

Me gustaría reflexionar sobre mi trabajo en un repository de los últimos dos años y, por lo tanto, estoy tratando de calcular statistics de uso similares a la página de charts de github.com, pero un poco más sofisticadas.

Por lo tanto, estoy tratando de get una list donde cada fila sea un evento de un file cambiado con la date y la cantidad de líneas cambiadas.

Por ejemplo, este podría ser el resultado:

2017-01-12 commit1 README.md +30 2017-01-12 commit1 main.tex +15 2017-03-12 commit2 main.tex +15 2017-05-01 commit3 README.md -10 

Encontré una esencia que imprime muy bien los commits con una date:

 git log --date=iso --pretty=format:"%h%x09%an%x09%ad%x09%s" > commits.iso.tsv.txt 

Esto, sin embargo, es demasiado amplio. Me gustaría tener una input por file y cambio de línea . La idea es calcular statistics posteriores sobre extensiones de files (es decir, files de códigos, files de documentation, …).

¿Cómo podría abordar esto?

Podrías hacer algo como:

 git log --stat --oneline 

¿Y luego procesarlo desde allí? También hay --numstat lugar de --stat que podría ser más de lo que --stat .

Se pueden encontrar más detalles en el website de Git . (Si eso no está bien, mira --dirstat ( ref )