Comparer des fichiers, des commits et des branches dans Git

John Wachira 21 juin 2022
Comparer des fichiers, des commits et des branches dans Git

Cet article nous apprendra comment comparer des fichiers, des commits et des branches dans Git à l’aide de la commande git diff. On utilise la commande git diff pour montrer les écarts entre les fichiers issus de deux commits ou l’état actuel de notre repo et un commit précédent.

La commande est pratique lors de la comparaison de sources de données.

La commande git diff

Syntaxe:

git diff

Par défaut, la commande affichera les modifications non validées dans notre référentiel.

La commande nous montrera toutes les lignes de code supprimées et ajoutées dans le fichier d’origine. Voyons quelques exemples.

Git Diff Commits

Nous pouvons comparer deux commits dans la même branche dans le contexte ci-dessous.

git diff <commit-1-id> <commit-2-id>

Exemple:

Voici l’historique des commits pour notre dépôt local.

$ git log --oneline
c84e6f9 (HEAD -> main) Third Code Correction
9af4e38 Second Code Correction
a45ca97 First Code Correction
8c1cefc My Commit Message
c5bf6c8 Sixth Commit
3b641e0 Fourth Commit
21ca1e7 Third Commit
b2f7710 Initial commit

Dans un scénario où nous voulions voir les différences entre nos commits Third Code Correction et Second Code Correction, comment procéderions-nous ?

Nous allons lancer la commande git diff et mentionner le hachage de nos deux commits, comme indiqué ci-dessous.

$ git diff 9af4e38 c84e6f9
diff --git a/insert.php b/insert.php
index 985a7af..a5f31c6 100644
--- a/insert.php
+++ b/insert.php
@@ -1,7 +1,6 @@
 <?php
 // Use ls command to shell_exec function
 $output = shell_exec('git');
-
 // Display the list of all files and directories
 echo "<pre>$output</pre>";
 ?>

La sortie ci-dessus montre une différence à la ligne 67. On peut voir que le commit Third Code Correction a supprimé une ligne de code vide à la ligne 67.

Branches Git Diff

Pour comparer deux branches dans notre référentiel, nous exécutons cette commande.

git diff <branch1> <branch2>

Nous exécuterions cette commande si nous voulions comparer la branche master et une autre branche appelée dev.7.

git diff master dev.7

Si nous ajoutons deux points entre les branches, Git comparera les derniers commits entre les deux.

Fichiers de différences Git

Nous pouvons comparer deux fichiers dans notre dépôt en utilisant la commande git diff dans le contexte ci-dessous.

git diff <path-to-file1> <path-to-file2>

Exemple:

$ git diff Head:sample.php HEAD:insert.php
diff --git a/sample.php b/insert.php
index dce9c57..a5f31c6 100644
--- a/sample.php
+++ b/insert.php
@@ -1,14 +1,6 @@
 <?php
-    $a= 23;
-    $nationality = "Dutch";
-    //applying conditions on nationality and age
-    if ($nationality == "Dutch")
-    {
-        if ($a >= 18) {
-            echo "Eligible to vote";
-        }
-        else {
-            echo "Not eligible to vote";
-        }
-    }
+// Use ls command to shell_exec function
+$output = shell_exec('git');
+// Display the list of all files and directories
+echo "<pre>$output</pre>";

Notez comment nous avons spécifié la branche dans la commande git diff. Si les fichiers se trouvent dans des branches différentes, vous devrez spécifier la branche pour chaque fichier.

Auteur: John Wachira
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

Article connexe - Git Diff