À partir de la version git
1.7.11, vous pouvez utiliser git difftool --dir-diff
pour effectuer une différence de répertoire.
Cette fonctionnalité fonctionne bien avec Meld 3.14.2 par exemple, et vous permet de parcourir tous les fichiers modifiés:
git difftool --dir-diff --tool=meld HEAD~ HEAD
Il s'agit d'une fonction Bash pratique:
git-diff-meld() (
git difftool --dir-diff --tool=meld "${1:-HEAD~}" "${2:-HEAD}"
)
La réponse qui suit s'applique aux git
installations antérieures à la v1.7.11.
Cette même question a été posée sur la liste de diffusion git .
J'ai mis en place un script shell basé sur ce fil de messagerie qui effectue une différence de répertoire entre les validations arbitraires.
Depuis git v1.7.10, le git-diffall
script est inclus dans l' contrib
installation standard de git.
Pour les versions antérieures à la v1.7.10, vous pouvez installer à partir du git-diffall
projet sur GitHub .
Voici la description du projet:
Le script git-diffall fournit un mécanisme de diff basé sur un répertoire pour git. Le script s'appuie sur l'option de configuration diff.tool pour déterminer la visionneuse diff utilisée.
Ce script est compatible avec tous les formulaires utilisés pour spécifier une gamme de révisions à différencier:
1) git diffall
: affiche les différences entre l'arborescence de travail et les modifications par étapes
2) git diffall --cached [<commit>]
: affiche les différences entre les modifications par étapes et HEAD
(ou un autre commit nommé)
3) git diffall <commit>
: affiche les différences entre l'arborescence de travail et les commit nommés
4) git diffall <commit> <commit>
: affiche les différences entre deux commits nommés
5) git diffall <commit>..<commit>
: identique comme ci-dessus
6)git diffall <commit>...<commit>
: montrer les changements sur la branche contenant et jusqu'à la seconde, en commençant par un ancêtre commun des deux<commit>
Remarque: toutes les formes prennent un limiteur de chemin optionnel [--] [<path>]
Ce script est basé sur un exemple fourni par Thomas Rast sur la liste Git .