Obtener ficheros modificados en Git


En varias ocasiones he necesitado obtener un listado con los ficheros modificados en el último commit en git, principalmente para automatizar tareas en el CI del proyecto, de forma que ciertas acciones se aplican únicamente a algunos ficheros modificados.

El comando que he utilizado es el siguiente:

git diff-tree --no-commit-id --name-only -r HEAD

Puedes usar git diff-tree --no-commit-id --name-only -r <commit hash> para obtener los ficheros modificados en un commit concreto.

Que tiene como salida:

folder1/file1
folder1/file2
folder2/file1
...

Esta salida podemos procesarla, filtrar, y aplicar scripts a los ficheros que nos interesen.

¡Saludos!