J'ai essayé:
git diff sha1 sha2
Mais la sortie n'est pas la meilleure, est-il possible de voir la différence entre 2 commits en utilisant gitk?
Dans les fenêtres au moins, il est parfaitement possible:
Je ne sais pas si vous voulez réellement un diff ou si vous voulez la représentation gitk normale mais uniquement pour les commits menant de sha1
à sha2
Dans le dernier cas, vous pouvez fournir tous les paramètres de révision normaux: https://www.kernel.org/pub/software/scm/git/docs/gitrevisions.html
Vous pouvez donc faire des choses comme
gitk sha1..sha2
ou si le maître a été fusionné dans le sha2
branche et vous ne voulez pas voir les commits qui viennent de master et sha1
, est le premier commit dérivé de master
use
gitk master..sha2
Malheureusement, gitk
ne prend pas en charge la sortie diff de cette façon. :-( Vous pouvez utiliser git difftool
bien que. Il est livré avec la prise en charge d'un certain nombre d'outils intégrés. Par exemple, vous pouvez faire git difftool -t kdiff3 sha1 sha2
. Il montre que le fichier diffère un à la fois. Il y a eu des discussions sur la liste git sur la prise en charge de plus d'un fichier à la fois via un outil de diff, mais je ne sais pas où cela a abouti. Je n'ai pas encore vu de patch l'implémenter.
Non, mais vous pouvez le faire en utilisant meld:
git checkout sha1
git reset sha2
git diftool --tool=meld
L'astuce est que, en vérifiant sha1 puis en réinitialisant sha2, vous faites apparaître toutes les différences entre elles comme des modifications non validées. Ensuite, meld peut utiliser sa capacité à afficher les modifications non validées, pour faire une différence de tous les fichiers impliqués en même temps.