Contar y graficar el número de líneas de código un proyecto con Git y Bash
Haciendo análisis de diferentes proyectos, me preguntaba cuántas líneas de código tenía cada uno. Al usar git, es fácil graficar cómo ha cambiado dicho valor en el tiempo. Te enseño cómo.
El primer paso es ver cómo contar el número de líneas con git (git ls-files <folders> | xargs wc -l
) y añadirle un poco de magia (tail -1 | awk '{ print $1 }'
) para obtener el valor.
Por otro lado hay que obtener la fecha del commit (git show -s --format=%ci
), y usar algunos comandos de git básicos: cambiar de rama (git checkout <branch>
) o sincronizar los últimos cambios (git pull origin <branch>
).
Con estos datos podemos generar un fichero csv
que contenga dos columnas: la fecha del commit y el número de filas.
Ahora simplemente clónate el repositorio que desees, crea un script y copia el código que tienes al final de post (no olvides darle permisos de ejecución para tu usuario chmod u+x count-lines.sh
😉).
Configura las variables que encontrarás en la parte superior, ejecúta el script... y ¡listo¡ Has sido hackeado. Nah, verás un nuevo fichero llamado data.csv
que contiene los datos.
Si los graficas con alguna aplicación, podrás ver la evolución de tu proyecto con el tiempo, por ejemplo:
¿Mola eh?
⚠️ ¡CUIDADO!: al hacer git checkout <branch>
perderás los cambios que no hayas comiteado.
El código fuente lo puedes ver en GitHub, muy simple.
Salu2.
Si te ha resultado útil este artículo agradecería si te suscribes a mi newsletter. Recibirás contenido exclusivo de calidad y también me ayudarás enormemente. Cada suscripción apoya el trabajo que realizo y me permite conocer mejor los temas que te interesan, de forma que puedo mejorar los conocimientos que comparto contigo.