Git Diff compare les mo­di­fi­ca­tions dans les fichiers, les branches et les commits. Cette commande Git permet de détecter ra­pi­de­ment les erreurs de suivre fa­ci­le­ment les bonnes évo­lu­tions.

Nom de domaine
Votre domaine en un clic
  • 1 cer­ti­fi­cat SSL Wildcard par contrat
  • Fonction incluse Domain Connect pour une con­fi­gu­ra­tion DNS sim­pli­fiée

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 dif­fé­rentes étapes du dé­ve­lop­pe­ment seront sau­ve­gar­dées de snapshot en snapshot. Vous créez ainsi dif­fé­rentes branches, dif­fé­rents commits et… de nombreux fichiers. Au moment de comparer deux sources de données dif­fé­rentes afin de mieux suivre ou vérifier vos mo­di­fi­ca­tions, utilisez la commande Git Diff. Celle-ci compare deux états en indiquant clai­re­ment leurs dif­fé­rences.

Git Diff se révèle un outil important du travail quotidien sur un projet. La commande est souvent utilisée en com­bi­nai­son avec Git Status et Git Log. L’analyse permet non seulement de garder une vue d’ensemble du dépôt mais aussi d’iden­ti­fier plus ra­pi­de­ment 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’uti­li­sa­tion de Git Diff

La meilleure façon d’expliquer le fonc­tion­ne­ment 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 uni­que­ment la phrase « La deuxième couleur est le rouge. ». Si vous saisissez main­te­nant Git Diff, il ne se passe d’abord rien. Le dépôt ne contient pas encore de mo­di­fi­ca­tions à 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é­char­ger. La commande ressemble à ceci :

git add couleur_un.txt couleur_deux.txt

Avec la commande Git Status, vérifiez d’abord les mo­di­fi­ca­tions ef­fec­tuées, en théorie prêtes pour un commit. Les deux documents texte couleur_un.txt et couleur_deux.txt s’affichent.

Effectuez main­te­nant une mo­di­fi­ca­tion sur le deuxième document. Trans­for­mez l’af­fir­ma­tion « La deuxième couleur est rouge. » en « La deuxième couleur est jaune. ». Vous pouvez main­te­nant rendre ce chan­ge­ment 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

Ex­pli­ca­tion des dif­fé­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é­ta­don­nées, en général peu per­ti­nentes 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 mo­di­fi­ca­tions ;
  • +++ 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 mo­di­fi­ca­tions. Comme dans cet exemple une seule mo­di­fi­ca­tion a été effectuée sur une ligne, l’en-tête est très court. Il indique sim­ple­ment une mo­di­fi­ca­tion sur la première ligne. S’il y avait plusieurs lignes et qu’un mot avait été remplacé à la cinquième ligne, Git le sig­na­le­rait déjà ici ;
  • Lignes restantes : elles indiquent les mo­di­fi­ca­tions 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 com­pa­rai­sons avec Git Diff

Il est possible de comparer de nombreux éléments avec Git Diff. Voici les prin­ci­pales :

git diff HEAD

Cette commande permet de comparer les mo­di­fi­ca­tions dans le ré­per­toire 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 mo­di­fi­ca­tions entre deux commits. Pour cela, vous devez d’abord demander l’ID des commits cor­res­pon­dants 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 nom­breuses fonc­tion­na­li­tés très utiles ! Inclus trois projets pour démarrer le premier mois.

Aller au menu principal