A partir de git
v1.7.11, puede utilizar git difftool --dir-diff
para realizar un directorio diff.
Esta característica funciona bien con Meld 3.14.2 por ejemplo, y le permite explorar todos los archivos modificados:
git difftool --dir-diff --tool=meld HEAD~ HEAD
Esta es una práctica función Bash:
git-diff-meld() (
git difftool --dir-diff --tool=meld "${1:-HEAD~}" "${2:-HEAD}"
)
La respuesta que sigue se aplica a las git
instalaciones anteriores a v1.7.11.
Esta misma pregunta se hizo en la lista de correo de git .
Arme un script de shell basado en ese hilo de correo electrónico que realiza una diferencia de directorio entre confirmaciones arbitrarias.
A partir de git v1.7.10, el git-diffall
script se incluye en la contrib
instalación estándar de git.
Para versiones anteriores a v1.7.10, puede instalar desde el git-diffall
proyecto en GitHub .
Aquí está la descripción del proyecto:
El script git-diffall proporciona un mecanismo de diferencias basado en directorios para git. El script se basa en la opción de configuración diff.tool para determinar qué visor diff se usa.
Este script es compatible con todos los formularios utilizados para especificar un rango de revisiones a diff:
1) git diffall
: muestra la diferencia entre el árbol de trabajo y los cambios por etapas
2) git diffall --cached [<commit>]
: muestra la diferencia entre los cambios por etapas y HEAD
(u otra confirmación con nombre)
3) git diffall <commit>
: muestra la diferencia entre el árbol de trabajo y la confirmación con nombre
4) git diffall <commit> <commit>
: muestra la diferencia entre dos confirmaciones con nombre
5) git diffall <commit>..<commit>
: igual como arriba
6) git diffall <commit>...<commit>
: muestra los cambios en la rama que contiene y hasta el segundo, comenzando en un antepasado común de ambos<commit>
Nota: todas las formas toman un limitador de ruta opcional [--] [<path>]
Este script se basa en un ejemplo proporcionado por Thomas Rast en la lista de Git .