Git Diff
Dernière mise à jour
git diff affiche les modifications exactes ligne par ligne entre deux états de votre dépôt. Sans argument, il montre ce que vous avez modifié mais pas encore indexé. Ajoutez --staged pour voir ce qui est indexé, nommez deux commits ou branches pour les comparer, ou nommez un fichier pour restreindre.
Essayez ceci dans le terminal playground - un vrai shell dans votre navigateur, rien à installer.
Syntaxe
| Command | What it does |
|---|---|
git diff | Modifications non indexées par rapport à l'index |
git diff --staged | Modifications indexées par rapport au dernier commit |
git diff HEAD | Toutes les modifications depuis le dernier commit |
git diff main feature | Différence entre deux branches |
git diff <hash1> <hash2> | Différence entre deux commits |
git diff -- file.txt | Modifications d'un seul fichier |
Cas courants
| Goal | Command |
|---|---|
| Voir ce que vous êtes sur le point de commiter | git diff --staged |
| Voir le travail non commité | git diff |
| Comparer votre branche à main | git diff main |
| Uniquement les noms des fichiers modifiés | git diff --name-only |
FAQ git diff
Qu'affiche git diff par défaut ?
Sans argument,
git diff affiche les modifications de votre arbre de travail qui ne sont pas encore indexées - ce que vous avez édité depuis le dernier git add. Pour voir ce que vous avez déjà indexé (et qui sera commité ensuite), utilisez git diff --staged ; pour voir tout depuis le dernier commit, utilisez git diff HEAD.Quelle est la différence entre git diff et git diff --staged ?
git diff compare votre arbre de travail à la zone d'indexation (modifications non indexées). git diff --staged (aussi --cached) compare la zone d'indexation au dernier commit (modifications indexées). Ensemble, ils montrent les deux moitiés de votre travail non commité.Comment faire un diff entre deux branches ou commits ?
Nommez-les :
git diff main feature montre ce qui diffère entre les deux branches, et git diff <hash1> <hash2> compare deux commits. Ajoutez -- <file> à la fin pour limiter la comparaison à un seul fichier.Comment voir uniquement quels fichiers ont changé, pas le diff complet ?
Utilisez
git diff --name-only pour n'obtenir que les noms de fichiers, ou git diff --stat pour un résumé indiquant chaque fichier et le nombre de lignes modifiées. Ils sont pratiques pour un aperçu rapide avant de lire le diff complet ligne par ligne.Puis-je m'entraîner en ligne ?
Oui. Ouvrez le terminal playground pour exécuter
git diff dans un vrai shell dans votre navigateur - rien à installer. Le cours Git interactif et gratuit de Coddy couvre aussi l'inspection des modifications étape par étape.