Fichiers spécifiques à Git Stash
Ce didacticiel verra comment stocker les modifications de fichiers spécifiques uniquement dans Git.
Dans Git, lorsque nous apportons des modifications à l’arborescence de travail, certaines modifications peuvent être mises en scène dans le référentiel local ou pas encore mises en scène.
Nous pouvons maintenant vouloir enregistrer ces modifications pendant un certain temps et travailler sur une version des fichiers avant que ces modifications n’aient lieu.
Ainsi, à ces fins, nous pouvons utiliser la commande git stash push
pour stocker les modifications (c’est-à-dire) pour une utilisation ultérieure.
Encore une fois, par la suite, nous pouvons utiliser la commande git stash pop
pour récupérer ces modifications.
Nous pouvons parfois exiger de sauvegarder ou de stocker les modifications apportées à des fichiers spécifiques uniquement, au lieu de tous les fichiers modifiés dans l’arborescence de travail du référentiel.
Nous allons maintenant illustrer cela par un exemple.
Utilisation de git stash push
pour stocker les modifications de fichiers spécifiques dans Git
Supposons que nous ayons un fichier nommé example.txt
dans l’arborescence de travail du référentiel. Nous avons apporté quelques modifications au fichier et nous souhaitons maintenant stocker ces modifications pendant un certain temps dans Git.
Nous pouvons également avoir des modifications dans les autres fichiers de l’arborescence de travail, mais nous ne voulons pas les cacher.
La syntaxe de la commande pour stocker des fichiers spécifiques dans Git est git stash push <file>
.
Ainsi, nous procédons comme suit pour ranger les modifications apportées uniquement au fichier example.txt
.
$ git stash push example.txt
Saved working directory and index state On main: example.txt
HEAD is now at 8b3560b minor changes
Ainsi, nous avons caché les changements uniquement du fichier example.txt
.
Nous pouvons maintenant lister les entrées de cachette et voir notre entrée de cachette, comme suit.
$ git stash list
stash@{0}: On main: example.txt
Nous pouvons également ajouter un message spécifique tout en stockant comme suit.
$ git stash push -m "my example stash" example.txt
Saved working directory and index state On main: my example stash example.txt
HEAD is now at 8b3560b minor changes
Nous pouvons à nouveau l’énumérer comme suit.
$ git stash list
stash@{0}: On main: my example stash example.txt
En dehors de cela, nous pouvons également stocker de manière interactive des modifications spécifiques des fichiers souhaités dans Git.
Pour cela, nous devons utiliser l’option --patch ou -p
avec la commande git stash push
.
Ainsi, pour ce faire dans notre exemple, nous procédons comme suit.
$ git stash push --patch
diff --git a/example.txt
index 7ab5ca4..a281fc6 100644
--- a/example.txt
+++ b/example.txt
@@ -4,9 +4,11 @@
some text
+new text
some other text
some text again
+second new text
Stash this hunk [y,n,q,a,d,/,s,e,?]? y
Saved working directory and index state WIP on main: 8b3560b minor changes
La commande git stash
parcourt tous les changements dans l’arborescence de travail du référentiel et invite à choisir les changements à stash.
Ici, nous avons entré l’option y
en plus de la question, Stash this hunk [y,n,q,a,d,/,s,e,?]?
pour ranger les modifications du fichier example.txt
.
Nous pouvons entrer l’option n
pour ne pas cacher le hunk
actuel du fichier (le changement).
Pour plus d’informations sur git stash
et les options disponibles, consultez ce site à savoir. git stash - Enregistrement des modifications.