désolé si cette question existe, je ne l'ai étonnamment pas trouvée: /
Comment puis-je effectuer un git diff
entre deux fichiers dans la même branche et le même commit?
c'est à dire git diff fileA.php fileB.php
(idéalement avec le code couleur facile à lire qui git
offre ... ou similaire à ce que fait le programme BeyondCompare!)
Réponses:
Vous n'avez pas besoin de git pour cela, utilisez simplement
diff fileA.php fileB.php
(ou vimdiff si vous voulez une comparaison côte à côte)la source
vimdiff
pour la victoire! Merci!git diff
diff mais simplement un diff facile à lire. Aussi le fait qu'il ait accepté ma réponse comme ce qu'il cherchait indique également qu'il y répond en fait.diff fileA fileB
pasgit diff fileA fileB
Si vous souhaitez utiliser
git diff
sur deux fichiers arbitraires, vous pouvez utilisergit diff --no-index <file_a> <file_b>
. Les deux fichiers n'ont pas besoin d'être suivisgit
pour que cela fonctionne.la source
--word-diff
met en évidence les changements par mot, pas seulement par lignediff
a--color
, ce qui pourrait aider (voir unix.stackexchange.com/a/338960 ). Mais même dans ce cas, s'il est utilisédiff-so-fancy
, il semble nécessiter le format de sortie spécifique degit diff
.diff -u
(voir stackoverflow.com/a/4857407/10095231 ) ne fonctionne pas.Si les fichiers que vous souhaitez comparer sont dans votre copie de travail, vous pouvez les utiliser simplement
diff
comme indiqué par les autres, mais si les fichiers sont dans une révision, vous pouvez spécifier une révision pour chaque fichiercomme indiqué ici: https://stackoverflow.com/a/3343506/1815446
Dans votre cas (en spécifiant la même révision pour les deux fichiers):
la source
HEAD~2
, un SHA-1, un nom de branche, etc.git diff --name-only HEAD:dir1 HEAD:dir1_backup
fonctionne après ungit add
des deux répertoires.Pour que gnu diff normal ressemble plus à git diff, je recommanderais ces paramètres:
(où
-b
ignorer les espaces,-u
diff unifié,-r
récursif,-N
traiter les fichiers manquants comme/dev/null
).Cela fonctionne très bien, mais n'a toujours pas de couleurs et la pagination automatique de style git est pratiquement absente. Si vous voulez réparer les deux (je le fais), installez-le
colordiff
et utilisez-le comme ceci:Cela donne une sortie et une interface très proches du réel
git diff
.la source
Si vous souhaitez comparer deux fichiers locaux dans le même répertoire, utilisez simplement diff.
la source
Utilisez simplement des différences régulières.
la source