Git: Comment différencier deux fichiers différents dans des twigs différentes?

J’ai deux fichiers différents dans différentes twigs. Comment puis-je les différencier en une seule commande?

Quelque chose comme

# git diff branch1/foo.txt branch2/foo-another.txt 

Je pourrais vérifier l’autre fichier, le diff et le restaurer, mais c’est une solution assez sale.

 git diff branch1:full/path/to/foo.txt branch2:full/path/to/foo-another.txt 

Vous pouvez également utiliser des chemins relatifs:

 git diff branch1:./relative/path/to/foo.txt branch2:./relative/path/to/foo-another.txt 

Remarque: pas besoin de chemins complets, vous pouvez commencer avec ./ pour les chemins relatifs. Cela peut être pratique parfois.

 git diff branch1:./relative/path/to/foo.txt branch2:./relative/path/to/foo-another.txt 

Il existe de nombreuses façons de comparer des fichiers provenant de deux twigs différentes. Par exemple:

  • Si le nom est identique ou différent:

      git diff branch1:file branch2:file 

    Exemple:

      git diff branch1:full/path/to/foo.txt branch2:full/path/to/foo-another.txt 
  • Seulement si le nom est le même et que vous voulez comparer votre répertoire de travail actuel à une twig:

     git diff ..someBranch path/to/file 

    Exemple:

     git diff ..branch2 full/path/to/foo.txt 

    Dans cet exemple, vous comparez le fichier de votre twig actuelle au fichier de la twig principale.

Vous pouvez vérifier cette réponse:

Comparez un fichier de deux twigs différentes dans Git

Juste pour l’append, je trouve que c’est une syntaxe très simple:

 git diff    

Fonctionne également avec des références relatives comme par exemple:

 # compare the previous committed state from HEAD with the state branch1 was 3 commits ago git diff HEAD^ ~3