Tester avec des fichiers non modifiés
Dans les étapes précédentes, nous avons vu comment git show --name-only
et git diff-tree -r --name-only
affichent les fichiers qui ont été modifiés dans un commit spécifique. Maintenant, voyons ce qui se passe lorsque nous exécutons ces commandes sur un commit où aucun fichier n'a été modifié (ce n'est pas le cas de notre seul commit, mais nous pouvons simuler l'idée).
Étant donné que notre dépôt actuel n'a qu'un seul commit où un fichier a été ajouté, l'exécution de ces commandes sur ce commit montrera toujours message.txt
. Pour illustrer le concept d'affichage uniquement des fichiers modifiés, imaginons que nous ayons eu un commit qui n'a pas modifié aucun fichier (cela se produit généralement avec les commits de fusion ou les commits qui ne modifient que les métadonnées, mais pour cet exercice, nous nous concentrerons sur la sortie lorsqu'aucun fichier n'est répertorié).
Si vous deviez exécuter git show --name-only
ou git diff-tree -r --name-only
sur un commit qui n'a pas modifié aucun fichier, la partie de la sortie concernant les noms de fichiers serait vide.
Réexécutons les commandes que nous avons apprises pour renforcer le concept. Assurez-vous que vous êtes dans le répertoire my-time-machine
:
cd ~/project/my-time-machine
Réexécutez git show --name-only
:
git show --name-only HEAD
La sortie sera similaire à :
commit a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9
Author: Jane Doe <[email protected]>
Date: Mon Aug 7 10:00:00 2023 +0000
Send a message to the future
message.txt
Maintenant, réexécutez git diff-tree -r --name-only
:
git diff-tree -r --name-only HEAD
La sortie sera :
message.txt
Les deux commandes affichent correctement message.txt
car ce fichier a été introduit dans ce commit. Le point clé ici est que ces commandes sont conçues pour répertorier uniquement les fichiers qui ont été modifiés (ajoutés, supprimés ou modifiés) dans le commit spécifié. Si un commit ne modifie aucun fichier, ces commandes (plus précisément la partie de la liste des fichiers) n'afficheront rien.
Ce comportement est important pour comprendre l'étendue des modifications introduites par un commit. Il vous aide à identifier rapidement quelles parties de votre projet ont été affectées par un changement particulier.