Tester les fichiers modifiés par rapport aux fichiers ajoutés
Dans les étapes précédentes, nous avons vu comment git show --name-status
et git diff-tree --name-status
affichent un A
pour un fichier ajouté. Maintenant, voyons comment ils se comportent lorsqu'un fichier est modifié.
Tout d'abord, assurez-vous que vous êtes dans le répertoire ~/project/my-time-machine
.
Ajoutons une autre ligne à notre fichier message.txt
:
echo "Hello again, Future Me" >> message.txt
L'opérateur >>
ajoute le texte à la fin du fichier existant.
Maintenant, vérifions l'état de notre dépôt :
git status
Vous devriez voir une sortie indiquant que message.txt
a été modifié :
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")
Git identifie correctement que le fichier a été modifié
.
Maintenant, préparons cette modification pour le commit :
git add message.txt
Et vérifions l'état à nouveau :
git status
La sortie devrait maintenant montrer que la modification est prête pour le commit :
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: message.txt
Notez que même si nous avons ajouté du contenu, Git enregistre cela comme un fichier modifié
car le fichier existait déjà dans le commit précédent.
Enfin, validons cette modification :
git commit -m "Add another message to the future"
Vous devriez voir une sortie confirmant le commit :
[master a1b2c3d] Add another message to the future
1 file changed, 1 insertion(+)
Maintenant, nous avons un nouveau commit. Utilisons git show --name-status
sur le dernier commit (HEAD
) pour voir l'état :
git show --name-status HEAD
La sortie sera similaire à celle-ci :
commit a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9 (HEAD -> master)
Author: Jane Doe <[email protected]>
Date: Mon Aug 7 10:05:00 2023 +0000
Add another message to the future
M message.txt
Notez le M
avant message.txt
. Cela indique que le fichier a été Modifié
dans ce commit.
De même, si vous utilisez git diff-tree -r --name-status HEAD
, vous verrez également le statut M
.
Cette distinction entre A
(Ajouté) et M
(Modifié) est importante pour comprendre l'historique de vos fichiers dans Git. A
signifie que le fichier a été créé dans ce commit, tandis que M
signifie que le fichier existait déjà et que son contenu a été modifié.