¿Cómo obtengo una list única de files modificados en un repository dentro de un range de commits en Git?

Me gustaría get una list de files de un repository git que se han modificado o creado dentro de un range de commits. es posible? He echado un vistazo al log pero no parece lograrlo.

git diff --name-only ${range} le dará exactamente lo que quiere: solo los nombres de los files modificados en este momento.

En realidad, te da casi lo que pediste: esto includeía los files que fueron eliminados por completo, no solo los files modificados. También se perderían los files que se crearon y luego se eliminaron dentro del range.

Para get la image completa, es probable que desee recorrer el range y luego unir los resultados; use git log para get el range de commits, luego diferencie cada uno de los padres.

 git diff --stat SHAstart..SHAend 

le dará una list de files modificados entre los SHAID SHAstart y SHAend

git diff --name-only --diff-filter=AM <REV1>..<REV2>

Esto dará una list de files ( --name-only ) modificados o agregados ( --diff-filter=AM ) en todos los commits accesibles después y antes ( <REV1>..<REV2> ) donde y es una revisión en git .

Para get más información sobre cómo especificar revisiones y ranges, consulte esta página: http://schacon.github.com/git/git-rev-parse.html

Para get más información sobre las opciones de diff y especialmente las --diff-filter , consulte: http://linux.die.net/man/1/git-diff