Diff con estadísticas de directorios afectados por cambios

Se puede ver qué porcentaje del total de cambios entre versiones corresponde a cada directorio mediante el uso de git diff con el siguiente comando:

git diff --dirstat=files,0 <REVISIÓN>

Donde: - files ordena a Git analizar los cambios teniendo en cuenta los ficheros afectados. Ésta es la forma computacionalmente más barata de sacar las estadísticas. Otras formas son cumulative y lines, que tienen en cuenta las líneas cambiadas y los cambios acumulados en subdirectorios, respectivamente. - 0 ordena a Git tener cuenta cualquier porcentaje de cambios, por pequeño que éste sea. De lo contrario, Git sólo analizará aquellos ficheros que tengan al menos un 3% de cambios. - REVISIÓN indica contra qué revisión del repositorio queremos comparar el estado actual.

Por ejemplo, si queremos ver qué directorios fueron afectados por cambios en el último commit, haremos:

git diff --dirstat=files,0 HEAD~1

  10.3% src/app/config
  80.0% src/app/core
  9.7% docs/

Éste sería el resultado para un commit que contiene cambios en el directorio src/ (hemos cambiado código) y en el directorio docs/ (hemos actualizado la documentación del proyecto).

Si por ejemplo queremos ver qué directorios de nuestra rama actual han sufrido cambios con respecto a la rama main, el comando sería:

git diff --dirstat=files,0 main