ver tool ramas example comparar commits cambios branches archivo git diff beyondcompare

ramas - git diftool para dar comparacion de directorio?



merge tool (2)

Actualización de junio de 2012 (2 años y medio después):

Esto (comparación de directorios en lugar de archivo por archivo) parece estar disponible pronto:
Ver [ANUNCIO] Git 1.7.11.rc1 :

" git difftool " aprendió la --dir-diff " --dir-diff " para generar herramientas de diferencias externas que puedan comparar dos jerarquías de directorios a la vez después de --dir-diff dos directorios temporales, en lugar de ejecutar una instancia de la herramienta externa una vez por par de archivos .

Consulte " Patch difftool : Teach difftool para manejar el directorio diffs "

Respuesta original (enero 2010)

Uno podría extraer una copia de los archivos modificados de almacenamiento / archivado en una carpeta temporal, y luego abrirla. ¿Es esa la única opción?

Básicamente sí:

Tu script de difftool lo haría:

  • crear 2 directorios temporales
  • Se define como una herramienta de diferencias.
  • llame a git diff
    • que luego se llama a sí mismo para que el archivo dif
    • en ese modo, el mismo script, para cada archivo, solo copia las dos versiones para diferenciar en los dos directorios temporales
  • luego continúe y llame a las herramientas de diferencias (como beyondCompare o WinMerge) en los dos directorios temporales

Tienes un primer ejemplo en esta pregunta .

Esta pregunta ya tiene una respuesta aquí:

¿Es posible obtener el comando git difftool para abrir un directorio de comparación entre los archivos modificados y los archivos de prueba / revisados?

Entonces, idealmente, si 2 archivos han cambiado, serían los únicos 2 mostrados, pero dentro de una comparación de directorio.

He leído publicaciones sobre cómo obtener git para dar todas las diferencias de archivos en paralelo, por lo que herramientas como BeyondCompare tienen todas las diferencias en las pestañas , pero no estoy contento con eso.

Uno podría extraer una copia de los archivos modificados de almacenamiento / archivado en una carpeta temporal, y luego abrirla. ¿Es esa la única opción?


Yo siempre uso --dirstat=files :

rudie@devver:virenze$ git diff --dirstat=files 4.1% modules/custom/virenze_conversations/ 7.0% modules/custom/virenze_crs/ 8.3% modules/custom/

lo que significa que he eliminado dirs virenze_conversations y virenze_crs en la custom . (No sé qué significan los porcentajes ...)

Probablemente pueda usar todas las opciones de diff normales: --cached , nombre de rama, etc.