commande git diff

Opérations de base Git


La commande git diff compare les différences entre les fichiers, c'est-à-dire qu'elle compare les différences entre la zone de staging et le répertoire de travail.

La commande git diff montre la différence entre les fichiers qui ont été écrits dans la zone de staging et les fichiers qui ont été modifiés mais pas encore écrits dans la zone de staging.

git diff a deux principaux scénarios d'application.

  • Modifications pas encore indexées :git diff
  • Afficher les modifications indexées :git diff --cached
  • Afficher toutes les modifications indexées et non indexées :git diff HEAD
  • Afficher un résumé au lieu du diff complet :git diff --stat

Afficher les différences entre la zone d'indexation et le répertoire de travail :

$ git diff [file]

Afficher les différences entre la zone d'indexation et le dernier commit :

$ git diff --cached [file]
ou 
$ git diff --staged [file]

Afficher les différences entre deux commits :

$ git diff [first-branch]...[second-branch]

Entrez le contenu suivant dans le fichier hello.php :

<?php
echo 'Example:www.example.com';
?>

Utilisez git status pour afficher l'état :

$ git status -s
A README
AM hello.php
$ git diff
diff --git a/hello.php b/hello.php
index e69de29..69b5711 100644
--- a/hello.php
+++ b/hello.php
@@ -0,0 +1,3 @@
+<?php
+echo 'Example: www.example.com';
+?>

git status montre les modifications depuis votre dernier commit ou les modifications indexées pour le commit, tandis que git diff montre ligne par ligne ce que sont réellement ces modifications.

Ensuite, jetons un coup d'œil.git diff --cachedEffet de l'exécution :

$ git add hello.php
$ git status -s
A README
A hello.php
$ git diff --cached
diff --git a/README b/README
new file mode 100644
index 0000000..8f87495
--- /dev/null
+++ b/README
@@ -0,0 +1 @@
+# Exemple de test Git
diff --git a/hello.php b/hello.php
new file mode 100644
index 0000000..69b5711
--- /dev/null
+++ b/hello.php
@@ -0,0 +1,3 @@
+<?php
+echo 'Example: www.example.com';
+?>


Opérations de base Git

autres extensions