2012-01-22 12 views

Respuesta

9

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

En realidad, le da casi lo que usted solicitó: esto incluiría archivos que fueron eliminados por completo, no solo archivos modificados. También se perderían los archivos que se crearon y luego se eliminaron dentro del rango.

Para obtener la imagen completa, es probable que desee recorrer el rango y luego unir los resultados; usa git log para obtener el rango de commits, luego dif cada uno contra el padre.

+0

Aunque diff sí acepta rangos ('commit..commit ') la sintaxis más natural es dos argumentos,' git diff [opts] commit1 commit2', que deja en claro que le muestra la diferencia entre los dos, sin hacer nada con los commits entre. – Cascabel

4
git diff --stat SHAstart..SHAend 

le dará una lista de archivos cambiado entre el SHAIDs SHAstart y SHAend

1

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

Esto le dará una lista de archivos (--name-only) modificado o añadido (--diff-filter=AM) en todas las confirmaciones alcanzable after and before (<REV1>..<REV2>) donde y hay una revisión en git.

Para obtener más información sobre cómo especificar rangos de revisiones y ver esta página: http://schacon.github.com/git/git-rev-parse.html

Para obtener más información sobre las opciones del diff y en especial las opciones --diff-filter ver: http://linux.die.net/man/1/git-diff

Cuestiones relacionadas