J'utilise git stash pop
depuis un certain temps. J'ai récemment découvert la git stash apply
commande. Quand je l'ai essayé, cela semblait fonctionner de la même manière que git stash pop
.
Quelle est la difference entre git stash pop
et git stash apply
?
git stash pop
le résultat, vous obtiendrez toujours une erreur de conflit.Vous avez ce lien utile qui indique la différence, comme l'a déclaré John Zwinck et un inconvénient de
git stash pop
.Lien: http://codingkilledthecat.wordpress.com/2012/04/27/git-stash-pop-considered-harmful/
la source
git stash pop
applique l'élément caché supérieur et le supprime de la pile.git stash apply
fait de même, mais le laisse dans la pile de stockage.la source
Le voir en action pourrait vous aider à mieux comprendre la différence.
En supposant que nous travaillons sur une
master
branche et que nous avons un fichierhello.txt
qui contient une chaîne "Hello".Modifions le fichier et y ajoutons la chaîne "world". Maintenant, vous voulez passer à une autre branche pour corriger un bug mineur que vous venez de trouver, vous devez donc
stash
apporter vos modifications:Vous avez déménagé dans l'autre branche, corrigé le bug et maintenant vous êtes prêt à continuer à travailler sur votre
master
branche, donc vouspop
les changements:Maintenant, si vous essayez d'examiner le contenu de la cachette, vous obtiendrez:
Cependant, si vous utilisez à la
git stash apply
place, vous obtiendrez le contenu caché mais vous le conserverez également:Il en
pop
va de même pour le pop de la pile - il supprime réellement l'élément une fois qu'il est sauté, alors qu'ilapply
ressemble plus à un coup d'œil .la source
In
git
stash est une zone de stockage où les fichiers modifiés en cours peuvent être déplacés.stash
est utile lorsque vous souhaitez extraire certaines modifications dugit
référentiel et détecter des modifications dans certains fichiers mutuels disponibles dans le référentielgit
.la source
Git Stash
Pop vs apply
travailSi vous souhaitez appliquer vos principales modifications stockées à la modification non intermédiaire actuelle et supprimer également cette dernière, vous devriez opter pour
git stash pop
.Mais si vous souhaitez appliquer vos principales modifications stockées à la modification non intermédiaire actuelle sans la supprimer, vous devriez opter pour
git stash apply
.la source