web-dev-qa-db-fra.com

git diff entre deux fichiers différents

Dans HEAD (le dernier commit), j'ai un fichier nommé foo. Dans mon arbre de travail actuel, je l'ai renommé bar et je l'ai également modifié.

Je veux git difffoo dans HEAD et bar dans mon arbre de travail actuel.

70
MiJyn

Vérifiez --find-renames option sur git-diff à https://www.kernel.org/pub/software/scm/git/docs/git-diff.html

Ou spécifiez les chemins explicitement:

git diff HEAD:full/path/to/foo full/path/to/bar

(Le crédit va à twaggs de Git: Comment différencier deux fichiers différents dans des branches différentes? )

92
Steven Wexler

Je crois que l’utilisation de --no-index Est ce que vous recherchez:

git diff [<options>] --no-index [--] <path> <path>

comme mentionné dans le manuel de git:

Ce formulaire permet de comparer les deux chemins donnés sur le système de fichiers. Vous pouvez omettre l'option --no-index Lors de l'exécution de la commande dans un arbre de travail contrôlé par Git et au moins un des chemins pointe à l'extérieur l'arbre de travail, ou when lancer la commande à l'extérieur un arbre de travail contrôlé par Git.

20
mh sattarian

Si vous utilisez la tortue git, vous pouvez cliquer avec le bouton droit de la souris sur un fichier et créer un diff en faisant un clic droit sur le premier fichier et en sélectionnant "Diff later" dans le sous-menu tortoisegit. Cliquez ensuite sur le second fichier avec le bouton droit de la souris. , allez dans le sous-menu tortoisegit puis sélectionnez "Diff avec votre nomfichierhere.txt"

4
user3270579