Je sais que je peux utiliser la commande git diff
pour vérifier les modifications, mais si j'ai bien compris, elle est basée sur des répertoires. Cela signifie qu'il donne toutes les modifications de tous les fichiers du répertoire en cours.
Comment puis-je vérifier uniquement les modifications d'un fichier spécifique? Dites, j'ai modifié les fichiers file_1.rb
, file_2.rb
, ..., file_N.rb
, mais je suis seulement intéressé par les modifications dans le fichier file_2.rb
. Comment puis-je vérifier ces modifications (avant de valider)?
Utilisez une commande comme:
_git diff file_2.rb
_
Reportez-vous à la _git diff
_ documentation pour obtenir des informations complètes sur les types de problèmes pour lesquels vous pouvez obtenir des différences.
Normalement, _git diff
_ affiche seul tous les changements dans le référentiel entier (pas uniquement le répertoire en cours).
Vous pouvez utiliser gitk [filename]
pour voir le journal des modifications
Une autre méthode (mentionnée dans this SO answer ) conservera l'historique dans le terminal et vous donnera un historique très détaillé du fichier lui-même:
git log --follow -p -- file
Cela affichera l’historique complet du fichier (y compris l’histoire au-delà des renommés et avec des différences pour chaque modification).
En d'autres termes, si le fichier nommé bar s'appelait autrefois foo, alors git log -p bar (sans l'option --follow) n'affichera que l'historique du fichier jusqu'au moment où il a été renommé. l'histoire du fichier quand il était connu comme foo. L'utilisation de git log --follow -p bar affichera l'historique complet du fichier, y compris les modifications apportées au fichier lorsqu'il s'appelait foo.
Vous pouvez utiliser la commande ci-dessous pour voir qui a changé quoi dans un fichier.
git blame <filename>
Vous pouvez exécuter
git status -s
Cela montrera le nom du fichier modifié, puis en copiant le chemin du fichier intéressé, vous pourrez voir les changements en utilisant git diff
git diff <filepath + filename>
tu peux aussi essayer
git show <filename>
Pour les commits, git show affichera le message du journal et les différences textuelles (entre votre fichier et la version validée du fichier).
Vous pouvez vérifier git show Documentation pour plus d'informations.
pour répertorier uniquement les détails des validations pour des modifications de fichiers spécifiques,
git log --follow file_1.rb
pour lister la différence entre les différents commits pour le même fichier,
git log -p file_1.rb
ne lister que commit et son message,
git log --follow --oneline file_1.rb
Ou si vous préférez utiliser votre propre outil graphique:
git difftool ./filepath
Vous pouvez définir votre outil graphique guidé par cet article: Comment afficher une sortie 'git diff' avec un programme de diff visuel?
Totalement d'accord avec @Greg Hewgill
Et si votre chemin contient des espaces, essayez d’ajouter avec apostrophe '
ou `
git diff 'MyProject/Mon dossier/Mon sous-dossier/fichier_2.rb'