Vous pouvez l'obtenir comme ceci:
git diff <file_path_relative_to_project_root>
Modifié:
Explication: A pris un certain temps pour comprendre. Chaque fois que git log -p <file>
est utilisé, il montre les commits où jamais le fichier a été touché et diffs pour le même fichier seul. Cela signifie que si vous voulez suivre l'histoire complète d'un fichier, vous pouvez ajouter - suivre l'option et obtenir l'historique complet.
Mais quand vous entrez cette commande: git log --full-diff -p file
, il vous montre tous les commits où que ce fichier a été touché, plus maintenant, il montre non seulement diff pour le fichier spécifié, mais montre aussi les diff est pour tous les fichiers qui ont été touchés dans le commit. Cela signifie qu'il vous donne le résultat pour plusieurs fichiers.
Si vous essayez cette commande: git log help
Vous verrez que --follow option ne peut être utilisée que pour un seul fichier si vous pouvez avoir une commande comme ceci: git log --follow -p file
car il présente les résultats pour seulement un seul fichier. Il ne peut pas être utilisé avec la commande suivante: git log --full-diff --follow -p file
car il affiche les résultats pour plusieurs fichiers et cette requête entraînerait une erreur.
Non Git diff ne peut me montrer que les changements entre 2 états du fichier (par défaut: le fichier de repo HEAD et le fichier du disque), mais pas l'historique complet. – mik01aj
Vous trouverez votre réponse [ici] (http://stackoverflow.com/a/5493663/3863146) c'est-à-dire ** git log --follow -p - fichier ** – sahil
Merci, cela fonctionne! Donc vous avez répondu à ma deuxième question :) Que diriez-vous de l'explication du "pourquoi"? – mik01aj