Git: comment différencier deux fichiers différents dans des branches différentes?
j'ai deux fichiers différents dans des branches différentes. 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érencier et le restaurer, mais c'est une solution assez sale.
4 réponses
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
Sidenote: pas besoin de chemins complets, vous pouvez commencer par ./
pour les chemins relatifs. Il peut être pratique parfois.
git diff branch1:./relative/path/to/foo.txt branch2:./relative/path/to/foo-another.txt
il y a plusieurs façons de comparer les fichiers de deux branchs diferents. 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 branche quelconque:
git diff ..someBranch path/to/file
exemple:
git diff ..branch2 full/path/to/foo.txt
dans cet exemple, vous comparez le fichier de votre branche actuelle à le fichier dans la branche master.
vous pouvez vérifier cette réponse:
juste pour l'ajouter car je trouve que c'est une syntaxe très simple:
git diff <branch1> <branch2> <filepath>
fonctionne aussi avec des réf relatifs comme par exemple:
# compare the previous committed state from HEAD with the state branch1 was 3 commits ago
git diff HEAD^ <branch1>~3 <filepath>