Comment vérifier si un stash Git est vide

GitGitBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire (lab), vous apprendrez à vérifier si un stash Git est vide. Nous explorerons différentes méthodes pour inspecter et vérifier le contenu de vos stashes.

Vous utiliserez d'abord la commande git stash show pour inspecter les modifications dans un stash, y compris l'affichage d'un résumé et du diff détaillé. Ensuite, vous apprendrez à utiliser git stash list pour vérifier la présence et le contenu des stashes. Enfin, vous testerez ces commandes avec des stashes non vides pour consolider votre compréhension.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/BasicOperationsGroup(["Basic Operations"]) git(("Git")) -.-> git/DataManagementGroup(["Data Management"]) git/BasicOperationsGroup -.-> git/status("Check Status") git/BasicOperationsGroup -.-> git/diff("Compare Changes") git/DataManagementGroup -.-> git/stash("Save Changes Temporarily") subgraph Lab Skills git/status -.-> lab-560106{{"Comment vérifier si un stash Git est vide"}} git/diff -.-> lab-560106{{"Comment vérifier si un stash Git est vide"}} git/stash -.-> lab-560106{{"Comment vérifier si un stash Git est vide"}} end

Exécuter git stash show pour inspecter

Dans cette étape, nous apprendrons à inspecter les modifications stockées dans un stash Git en utilisant la commande git stash show.

Avant de pouvoir inspecter un stash, nous devons en avoir un. Créons un fichier simple et mettons les modifications en stash.

Tout d'abord, assurez-vous d'être dans le répertoire de votre projet :

cd ~/project/my-time-machine

Maintenant, créez un nouveau fichier appelé notes.txt et ajoutez-y du contenu :

echo "Important notes for the future." > notes.txt

Vérifiez l'état pour voir le nouveau fichier :

git status

Vous devriez voir notes.txt répertorié comme un fichier non suivi.

Maintenant, mettons ces modifications en stash. Cela enregistrera les modifications sans les commettre et nettoiera votre répertoire de travail :

git stash save "Add important notes"

Vous devriez voir un message indiquant que les modifications ont été enregistrées et que le répertoire de travail est propre.

Maintenant que nous avons un stash, nous pouvons inspecter son contenu en utilisant git stash show. Par défaut, git stash show affiche un résumé des modifications dans le stash le plus récent.

Exécutez la commande :

git stash show

Vous devriez voir un résultat similaire à ceci :

 notes.txt | 1 +
 1 file changed, 1 insertion(+)

Ce résultat nous indique qu'un fichier (notes.txt) a été modifié et qu'une ligne a été ajoutée.

Pour voir les modifications réelles du contenu (un diff), vous pouvez ajouter l'option -p ou --patch :

git stash show -p

Cela vous montrera le diff des modifications dans le stash, de la même manière que git diff fonctionne. Vous devriez voir quelque chose comme ceci :

diff --git a/notes.txt b/notes.txt
new file mode 100644
index 0000000..a1b2c3d
--- /dev/null
+++ b/notes.txt
@@ -0,0 +1 @@
+Important notes for the future.

Ce résultat montre qu'un nouveau fichier notes.txt a été créé et que la ligne "Important notes for the future." a été ajoutée.

La commande git stash show est très utile pour vérifier rapidement quelles modifications sont contenues dans un stash sans avoir à l'appliquer. Cela vous aide à décider quel stash vous pourriez vouloir appliquer ou supprimer plus tard.

Utiliser git stash list pour vérifier

Dans cette étape, nous apprendrons à afficher la liste de tous les stashes que vous avez créés en utilisant la commande git stash list. Cela est utile lorsque vous avez plusieurs stashes et que vous devez vous rappeler ce que chacun d'eux contient.

Assurez-vous de toujours être dans le répertoire de votre projet :

cd ~/project/my-time-machine

Dans l'étape précédente, nous avons créé un stash. Utilisons git stash list pour le voir.

Exécutez la commande :

git stash list

Vous devriez voir un résultat similaire à ceci :

stash@{0}: On master: Add important notes

Décortiquons ce résultat :

  • stash@{0} : C'est le nom du stash. stash indique qu'il s'agit d'un stash, et {0} est l'index du stash dans la liste. Le stash le plus récent est toujours à l'index {0}.
  • On master : Cela vous indique sur quelle branche vous étiez lorsque vous avez créé le stash.
  • Add important notes : C'est le message que nous avons fourni lors de la création du stash avec git stash save. Si vous ne fournissez pas de message, Git en générera automatiquement un en fonction du commit actuel et des fichiers modifiés.

Si vous aviez plusieurs stashes, ils seraient listés avec des indices croissants, comme stash@{0}, stash@{1}, stash@{2}, etc.

Créons un autre stash pour voir comment la liste change.

Tout d'abord, modifions le fichier message.txt que nous avons créé dans un laboratoire précédent :

echo "Adding another line for testing." >> message.txt

Maintenant, mettons ces nouvelles modifications en stash :

git stash save "Add another line to message"

Exécutons git stash list à nouveau :

git stash list

Maintenant, vous devriez voir deux stashes :

stash@{0}: On master: Add another line to message
stash@{1}: On master: Add important notes

Remarquez que le nouveau stash est maintenant à l'index {0}, et que le stash précédent est passé à l'index {1}. Git place toujours le stash le plus récent en haut de la liste avec l'index {0}.

La commande git stash list est essentielle pour gérer plusieurs stashes. Elle fournit une vue claire de votre travail enregistré, vous permettant d'identifier et de référencer des stashes spécifiques lorsque vous avez besoin de les appliquer ou de les supprimer.

Tester les stashes non vides

Dans cette étape, nous allons pratiquer l'utilisation de git stash show et git stash list avec plusieurs stashes pour renforcer notre compréhension.

Assurez-vous d'être dans le répertoire de votre projet :

cd ~/project/my-time-machine

Nous avons actuellement deux stashes. Listons-les à nouveau pour rafraîchir notre mémoire :

git stash list

Vous devriez voir :

stash@{0}: On master: Add another line to message
stash@{1}: On master: Add important notes

Maintenant, inspectons le contenu du premier stash (stash@{0}). Nous pouvons spécifier quel stash afficher en ajoutant son index à la commande :

git stash show stash@{0}

Cela affichera le résumé des modifications dans le stash le plus récent, celui où nous avons ajouté une ligne au fichier message.txt. Le résultat devrait être similaire à :

 message.txt | 1 +
 1 file changed, 1 insertion(+)

Pour voir le diff de ce stash, utilisez l'option -p :

git stash show -p stash@{0}

Vous devriez voir le diff montrant la ligne ajoutée dans message.txt.

Maintenant, inspectons le deuxième stash (stash@{1}). C'est le stash où nous avons créé le fichier notes.txt.

git stash show stash@{1}

Le résultat devrait être similaire à :

 notes.txt | 1 +
 1 file changed, 1 insertion(+)

Et pour voir le diff de ce stash :

git stash show -p stash@{1}

Cela affichera le diff pour la création de notes.txt.

Être capable de lister et d'inspecter des stashes individuels est crucial lorsque vous avez enregistré plusieurs ensembles de modifications. Cela vous permet d'identifier rapidement le stash dont vous avez besoin sans avoir à les appliquer un par un.

Dans les prochains laboratoires, nous apprendrons à appliquer et à gérer ces stashes.

Résumé

Dans ce laboratoire, nous avons appris à inspecter le contenu d'un stash Git en utilisant la commande git stash show. Nous avons d'abord créé un fichier simple et mis les modifications en stash pour avoir un stash avec lequel travailler. Nous avons ensuite utilisé git stash show pour afficher un résumé des modifications dans le stash le plus récent, y compris le nombre de fichiers modifiés et le nombre de lignes ajoutées/supprimées. Nous avons également exploré l'option -p ou --patch avec git stash show pour afficher le diff réel des modifications dans le stash, ce qui nous permet de voir les lignes spécifiques qui ont été ajoutées, modifiées ou supprimées. Cette commande est un outil précieux pour comprendre rapidement le contenu d'un stash sans avoir besoin de l'appliquer.