Maison  >  Article  >  outils de développement  >  Explication détaillée de l'opération de stockage temporaire de "git stash"

Explication détaillée de l'opération de stockage temporaire de "git stash"

Guanhui
Guanhuiavant
2020-07-23 18:01:274717parcourir

Explication détaillée de l'opération de stockage temporaire de

Pourquoi nous en avons besoin

Non autorisé Inutile de dire que lorsque j'ai entendu parler de cette commande et que je l'ai utilisée plus tard, j'ai tellement aimé cette commande car elle est si facile à utiliser.

Laissez-moi vous parler du scénario lorsque j'utilise cette commande :

En ce moment, je suis dans la branche feature_666, et je suis très concentré et concentré sur l'implémentation d'un module feature 666. Je peux écrire du code comme un clavier volant~ ~~
Puis à ce moment-là, le client a signalé un bug, qui était très grave et doit être résolu immédiatement, avec une priorité de 0 ! ! !
Donc, je dois aller dans la branche release pour vérifier que la nouvelle branche fonctionne, mais que dois-je faire si la fonction 666 n'est pas encore terminée ?
À ce moment-là, j'ai été confronté à une question à choix multiples :
A : Basculez après la soumission, et le code est enregistré dans la branche feature_666, mais un commit dénué de sens est généré
B : Basculez directement sans soumettre, mais cette option n'est pas disponible du tout. Je choisirai.

N'est-ce pas difficile de choisir ? En ce moment, n'oubliez pas qu'il existe l'option C !

C : utilisez git stash pour stocker les modifications actuelles (code non validé) dans le cache, changez de branche pour modifier les bogues, puis revenez et supprimez-les via git stash pop.

1. Opération de stockage temporaire

#查看当前状态
git status 
#如果有修改,添加修改文件
git add .
#暂存操作
git stash save '本次暂存的标识名字'

2. 🎜>

#查看记录
git stash list

Où sont stockées les modifications ?


Lorsque nous utilisons git init pour ajouter un contrôle de version au projet, il sera dans Un dossier caché .git est généré sous le chemin du projet. .git stocke toutes les informations pour la gestion des versions.

.git/refs/stash stocke le pointeur de nœud correspondant à la dernière cachette


De même, vous pouvez voir toutes nos informations d'enregistrement de cachette dans .git/log/refs/stash

Situation de stockage de plusieurs stash

ok, essayons de modifier le fichier, puis utilisons à nouveau git stash. En ce moment, nous avons deux modifications temporaires, et alors vérifiez-le ?

git stash list //Affichez tous les enregistrements de modifications temporaires dans la zone de stockage temporaire

Si vous exécutez git stash deux fois sans valider, vous ne pouvez pas distinguer avec précision les modifications spécifiques des deux caches. , utilisé de cette manière, donne à Git une apparence géniale ? Ce n'est pas intelligent du tout, comment est-ce possible ! .

Donc, dans ce cas, il est évidemment très important de donner un nom aux modifications stockées dans le cache, comme suit :

git stash save <message>

Restaurer le travail de mise en scène 3. 🎜>

'La commande pop restaure, après la restauration, la zone de stockage temporaire supprimera l'enregistrement actuel'

#恢复指定的暂存工作, 暂存记录保存在list内,需要通过list索引index取出恢复
git stash pop stash@{index}

'La commande apply restaure, après la restauration , la zone de stockage temporaire L'enregistrement actuel sera conservé'

#恢复指定的暂存工作, 暂存记录保存在list内,需要通过list索引index取出恢复
git stash apply stash@{index}

4 Supprimer le stockage temporaire

#删除某个暂存, 暂存记录保存在list内,需要通过list索引index取出恢复
git stash drop stash@{index}
#删除全部暂存
git stash clear

Tutoriel recommandé : " Tutoriel Git

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer