Git Diff : afficher les modifications dans Git

Git Diff compare les modifications dans les fichiers, les branches et les commits. Cette commande Git permet de détecter rapidement les erreurs de suivre facilement les bonnes évolutions.

Domaine Internet pas cher

Bien plus qu'un simple domaine !

Personnalisez votre présence en ligne avec un nom de domaine pertinent.

Email
Certificat SSL
Assistance 24/7

Git Diff, c’est quoi ?

Dans le cas d’un travail seul sur un projet simple dans Git ou dans celui d’une grande équipe avec de nombreux dépôts locaux : les différentes étapes du développement seront sauvegardées de snapshot en snapshot. Vous créez ainsi différentes branches, différents commits et… de nombreux fichiers. Au moment de comparer deux sources de données différentes afin de mieux suivre ou vérifier vos modifications, utilisez la commande Git Diff. Celle-ci compare deux états en indiquant clairement leurs différences.

Git Diff se révèle un outil important du travail quotidien sur un projet. La commande est souvent utilisée en combinaison avec Git Status et Git Log. L’analyse permet non seulement de garder une vue d’ensemble du dépôt mais aussi d’identifier plus rapidement les sources d’erreurs dans le code, le cas échéant. La syntaxe de Git Diff est d’ailleurs toujours la même et se présente de cette façon :

git diff

Les arguments insérés après la commande indiquent ensuite à Git les sources exactes que vous souhaitez comparer entre elles.

Exemple d’utilisation de Git Diff

La meilleure façon d’expliquer le fonctionnement de Git Diff est de se baser sur un exemple. Vous créez par exemple un nouveau projet nommé « Nouveau_projet » pour y insérer deux documents texte. Vous nommez ces documents couleur_un.txt et couleur_deux.txt. Le contenu du document couleur_un.txt est la phrase : « La première couleur est le bleu. ». Le document couleur_deux.txt contient uniquement la phrase « La deuxième couleur est le rouge. ». Si vous saisissez maintenant Git Diff, il ne se passe d’abord rien. Le dépôt ne contient pas encore de modifications à comparer. À présent, déplacez les deux documents dans le dossier de staging avec la commande Git Add, que vous trouverez également dans le pense-bête Git Cheat Sheet avec PDF à télécharger. La commande ressemble à ceci :

git add couleur_un.txt couleur_deux.txt

Avec la commande Git Status, vérifiez d’abord les modifications effectuées, en théorie prêtes pour un commit. Les deux documents texte couleur_un.txt et couleur_deux.txt s’affichent.

Effectuez maintenant une modification sur le deuxième document. Transformez l’affirmation « La deuxième couleur est rouge. » en « La deuxième couleur est jaune. ». Vous pouvez maintenant rendre ce changement visible avec Git Diff. La sortie ressemble alors à ceci :

$ git diff
diff --git a/couleur_deux.txt b/couleur_deux.txt
index [index]
--- a/couleur_deux.txt
+++ b/couleur_deux.txt
@@ -1 +1 @@
-La deuxième couleur est rouge.
\ No newline at end of file
+La deuxième couleur est jaune.
\ No newline at end of file

Explication des différentes lignes

Cette sortie peut sembler confuse, c’est pourquoi nous allons expliquer chaque ligne une à une.

  • diff --git a/couleur_deux.txt b/couleur_deux.txt : ce sont les sources d’entrée comparées avec Git Diff. La version a est la version originale, b indique la version modifiée ;
  • index : cette ligne affiche les métadonnées, en général peu pertinentes pour vos besoins ;
  • --- a/couleur_deux.txt : Git Diff attribue à la source d’entrée originale les trois signes moins comme symbole, afin que vous puissiez suivre les modifications ;
  • +++ b/couleur_deux.txt.txt : la nouvelle version reçoit le signe plus comme symbole ;
  • @@ -1 +1 @@ : il s’agit de l’en-tête de bloc qui résume les modifications. Comme dans cet exemple une seule modification a été effectuée sur une ligne, l’en-tête est très court. Il indique simplement une modification sur la première ligne. S’il y avait plusieurs lignes et qu’un mot avait été remplacé à la cinquième ligne, Git le signalerait déjà ici ;
  • Lignes restantes : elles indiquent les modifications exactes. Là encore, le contenu de la version originale (« -La deuxième couleur est rouge. ») est marqué par un moins et le contenu de la version modifiée (« +La deuxième couleur est jaune ») par un plus.

Autres comparaisons avec Git Diff

Il est possible de comparer de nombreux éléments avec Git Diff. Voici les principales :

git diff HEAD

Cette commande permet de comparer les modifications dans le répertoire de travail avec l’index.

git diff <branche_1> <branche_2></branche_2></branche_1>

Cette commande permet de comparer les commits de branche_1 avec ceux de branche_2 et l’ordre des deux branches est pris en compte par Git Diff.

git diff <commit_id> <commit_id></commit_id></commit_id>

Cette commande compare les modifications entre deux commits. Pour cela, vous devez d’abord demander l’ID des commits correspondants avec Git Log.

Conseil

Essayez-le, c’est gratuit ! Avec Deploy Now de IONOS, gérez tous vos projets via un seul tableau de bord et profitez de nombreuses fonctionnalités très utiles ! Inclus trois projets pour démarrer le premier mois.