En Git, ¿cómo obtengo una list detallada de los cambios de files de una revisión a otra?

Utilizo un repository de Git en mi server para la versión de los files de datos de usuario enviados al server. Estoy interesado en get una list de files modificados entre dos revisiones.

Sé acerca de git diff --name-only <rev1> <rev2> , pero esto solo me da una list de nombres de files. También me interesan especialmente los cambios de nombre y las copys. Idealmente, la salida sería algo como esto:

 updated: userData.txt renamed: picture.jpg -> background.jpg copied: song.mp3 -> song.mp3.bkp 

¿Es posible? --name-status tampoco parece indicar cambios de nombre y copys.

 git diff --name-status -C <rev1> <rev2> 

debería estar más cerca de lo que estás buscando.

--name-status mostraría los nombres de los files y sus respectivos estados:

 (A|C|D|M|R|T|U|X|B) 

Agregado (A), Copiado (C), Eliminado (D), Modificado (M), Renombrado (R),
tipo (es decir, file regular, enlace simbólico, submodule, …) cambiado (T),
Sin fusionar (U), Desconocido (X) o sincronizado Roto (B)

(a lo que el OP Jean Philippe Pellet agrega:

Las letras de estado R y C "siempre van seguidas de una puntuación que indica el porcentaje de similitud entre la fuente y el destino del movimiento o la copy, y son los únicos que lo son").

Respecto a los files copydos o movidos:

 -C[<n>] --find-copies[=<n>] 

Detecta copys y cambia el nombre. Si se especifica n , tiene el mismo significado que para -M<n> .

 --find-copies-harder 

Por motivos de performance, de forma pnetworkingeterminada, la opción -C encuentra copys solo si el file original de la copy se modificó en el mismo set de cambios.
Este indicador hace que el command inspeccione los files no modificados como candidatos para la fuente de copy.
Esta es una operación muy costosa para proyectos grandes, así que ústela con precaución. Dar más de una opción -C tiene el mismo efecto.


brauliobo recomienda en los comentarios :

 git diff --stat -C git show --stat -C git log --stat -C 

Creo que “ mostrará esa información

 git diff -M -C --stat 
Intereting Posts