Tester les fichiers non modifiés
Dans les étapes précédentes, nous avons vu comment git status
et git diff
fonctionnent lorsqu'un fichier a été modifié. Mais que se passe-t-il si nous exécutons ces commandes lorsqu'il n'y a pas de modifications ?
Découvrons-le ! Assurez-vous que vous êtes dans le répertoire ~/project/my-time-machine
.
Tout d'abord, exécutez git status
:
git status
Étant donné que nous n'avons apporté aucune modification depuis la dernière fois que nous avons vérifié l'état, vous devriez voir la même sortie que précédemment, indiquant que message.txt
est modifié mais non préparé (staged) :
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: message.txt
no changes added to commit (use "git add" and/or "git commit -a")
Maintenant, essayons d'exécuter git diff
à nouveau :
git diff
Vous devriez voir la même sortie de comparaison (diff) que précédemment, montrant la différence entre le fichier actuel et le dernier commit :
diff --git a/message.txt b/message.txt
index a1b2c3d..e4f5g6h 100644
--- a/message.txt
+++ b/message.txt
@@ -1 +1,2 @@
Hello, Future Me
+P.S. Hope you're doing well!
Cela confirme que git status
et git diff
vous montrent l'état actuel de votre répertoire de travail par rapport au dernier commit, indépendamment du nombre de fois que vous exécutez les commandes sans apporter de nouvelles modifications.
Maintenant, préparons (stage) les modifications que nous avons apportées à message.txt
en utilisant git add
:
git add message.txt
Exécutez git status
à nouveau :
git status
La sortie changera pour montrer que les modifications sont maintenant préparées (staged) :
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: message.txt
Remarquez que git status
montre maintenant "Changes to be committed". Cela signifie que les modifications sont dans la zone de préparation (staging area), prêtes pour le prochain commit.
Et git diff
maintenant ? Essayons-le :
git diff
Cette fois, git diff
n'affichera aucune sortie. Pourquoi ? Parce que lorsque vous exécutez git diff
sans arguments, il compare votre répertoire de travail à la zone de préparation (staging area). Étant donné que nous venons d'ajouter les modifications à la zone de préparation, le répertoire de travail et la zone de préparation sont identiques.
Pour voir la différence entre la zone de préparation et le dernier commit, vous utiliseriez git diff --staged
. Essayons cela :
git diff --staged
Cela affichera la comparaison (diff) des modifications qui sont actuellement dans la zone de préparation, qui est la ligne que nous avons ajoutée :
diff --git a/message.txt b/message.txt
index a1b2c3d..e4f5g6h 100644
--- a/message.txt
+++ b/message.txt
@@ -1 +1,2 @@
Hello, Future Me
+P.S. Hope you're doing well!
Comprendre la différence entre git diff
(répertoire de travail vs. zone de préparation) et git diff --staged
(zone de préparation vs. dernier commit) est un concept clé dans Git. Cela vous aide à gérer vos modifications avant de les valider (committer).
Appuyez sur q
pour quitter la vue de comparaison (diff) si elle apparaît.