111 votes

git diff deux fichiers sur la même branche, même commit

Désolé si cette question existe, je n'ai étonnamment pas pu la trouver :/

Comment puis-je effectuer un git diff entre deux fichiers de la même branche et du même commit ?

c'est-à-dire git diff fileA.php fileB.php

(idéalement avec le codage couleur facile à lire qui git offres....or similaire à ce que fait le programme BeyondCompare !)

276voto

rzrgenesys187 Points 398

Si vous voulez utiliser git diff sur deux fichiers arbitraires, vous pouvez utiliser git diff --no-index <file_a> <file_b> . Les deux fichiers n'ont pas besoin d'être suivis en git pour que cela fonctionne.

86voto

JaredMcAteer Points 5936

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)

16voto

Pau Fracés Points 934

Si les fichiers que vous voulez comparer sont dans votre copie de travail, vous pouvez utiliser simplement diff comme indiqué par les autres, cependant si les fichiers sont dans une certaine révision vous pouvez spécifier une révision pour chaque fichier

git diff <revision_1>:<file_1> <revision_2>:<file_2>

comme indiqué ici : https://stackoverflow.com/a/3343506/1815446

Dans votre cas (en spécifiant la même révision pour les deux fichiers) :

git diff <revisionX>:fileA.php <revisionX>:fileB.php

5voto

mvp Points 29360

Pour que gnu diff ressemble plus à git diff, je recommande ces paramètres :

diff -burN file_or_dir1 file_or_dir2

(où -b ignorer les espaces, -u diff. unifiée -r récursif, -N traiter les fichiers manquants comme /dev/null ).

Cela fonctionne très bien, mais il n'y a toujours pas de couleurs et la pagination automatique de type git est pratiquement absente. Si vous voulez corriger les deux (je le fais), installez colordiff et l'utiliser comme ceci :

colordiff -burN file_or_dir1 file_or_dir2 | less -R

Cela donne un résultat et une interface très proches de la réalité. git diff .

0voto

LaceySnr Points 6304

Si vous voulez comparer deux fichiers locaux dans le même répertoire, utilisez simplement diff.

diff fileA.php fileB.php

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X