Stash des modifications des fichiers par nom dans Git
Ce didacticiel présentera comment stocker les modifications des fichiers par nom dans Git.
Dans Git, nous pouvons vouloir enregistrer les modifications pendant un certain temps et travailler sur la version des fichiers avant que ces modifications n’aient lieu.
Nous pouvons utiliser la commande git stash push
pour stocker les modifications afin de les enregistrer pour une utilisation ultérieure.
Encore une fois, plus tard, nous pouvons utiliser la commande git stash pop
pour récupérer ces modifications.
Parfois, nous pouvons souhaiter enregistrer l’entrée de cachette avec un nom pour en faciliter l’utilisation. Nous pouvons souhaiter utiliser le nom de l’entrée de cachette pour la vérifier dans la liste de cachette et utiliser le nom pour récupérer les modifications.
Nous allons maintenant illustrer cela par un exemple.
Utilisation de git stash push
pour stocker les modifications de fichiers par nom dans Git
Supposons que nous ayons un fichier nommé sample.txt
dans la branche main
du référentiel Git. Nous avons peut-être apporté des modifications au fichier localement.
Nous pouvons vérifier l’état du référentiel comme suit.
$ git status
On branch main
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: sample.txt
Ainsi, nous pouvons voir que le fichier sample.txt
comporte des modifications qui doivent être validées.
Maintenant, nous décidons qu’au lieu de valider ces modifications, nous voudrons peut-être stocker ces modifications avec un nom pour les récupérer facilement plus tard.
La syntaxe de la commande git stash push
pour stocker les changements avec un nom est git stash push -m <stash_name>
.
Nous allons maintenant ranger les modifications du fichier sample.txt
avec un nom comme suit.
$ git stash push -m "my_stash"
Saved working directory and index state On master: my_stash
Nous pouvons voir le nom de cache donné dans la liste de cache.
$ git stash list
stash@{0}: On master: my_stash
Ainsi, dans la liste de cachette, nous pouvons voir l’entrée de cachette avec notre nom de réserve donné, à savoir my_stash
.
Nous allons maintenant vérifier à nouveau les modifications de l’arbre de travail, comme suit.
$ git status
On branch main
nothing to commit, working tree clean
Comme nous l’avons fait, Git ne montre aucun nouveau changement.
Si nécessaire, nous pouvons récupérer les modifications du magasin de cachette en utilisant le nom donné à l’entrée de cachette que nous venons de créer.
Nous devons utiliser la commande git stash apply
pour récupérer les modifications dans l’arbre de travail.
La syntaxe de la commande git stash apply
pour récupérer l’entrée stash par son nom et appliquer les modifications à l’arbre de travail est git stash apply stash^{/<stash_name>}
.
Veuillez noter que nous utilisons une expression régulière avec le nom de cachette pour obtenir l’entrée de cachette souhaitée.
Ainsi, nous devons procéder comme suit pour récupérer l’entrée de cachette du nom my_stash
.
$ git stash apply stash^{/my_stash}
On branch main
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: sample.txt
Nous pouvons maintenant voir les modifications appliquées à l’arbre de travail, que nous avons récupéré de la réserve, comme suit.
$ git status
On branch main
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: sample.txt
Contrairement à la commande git stash pop
, la commande git stash apply
ne supprime pas l’entrée de l’état stocké (c’est-à-dire) de la liste de stockage. Il applique uniquement l’entrée de cache donnée au-dessus de l’état actuel de l’arborescence de travail.
Ainsi, nous pouvons toujours voir l’entrée de cachette dans la liste de cachette.
$ git stash list
stash@{0}: On master: my_stash
Nous pouvons supprimer l’entrée de cachette de la liste de cachette.
Nous devons exécuter la commande comme suit.
$ git stash clear
Attention : veuillez utiliser cette commande avec précaution car elle supprime toutes les entrées de cachette.
Pour supprimer uniquement une entrée spécifique, comme dans notre cas, nous devons procéder comme suit.
$ git stash pop stash@{0}
Ainsi, dans ce cas, l’entrée de cachette sera désormais supprimée de la liste de cachette.
Article connexe - Git Stash
- Annuler Git Stash
- Appliquer des caches dans Git
- Effacer le cache dans Git
- Git Stash vs Shelve dans IntelliJ IDEA
- Afficher la liste des entrées de cachette dans Git
- Fichiers spécifiques à Git Stash