J'ai 2 branches: master | conception
Travaillant dans la conception, j'ai fait un stash et je suis passé au master, j'ai fait quelques ajustements. stash apply
Je suis revenu au design et j'ai seulement perdu toutes mes modifications dans la branche design.
J'espère que tout mon travail est dans une cachette car je ne les ai pas effacés ou supprimés.
Si je fais une liste cachée, j'obtiens 4 résultats:
stash@{0}: WIP on design: f2c0c72... Adjust Password Recover Email
stash@{1}: WIP on design: f2c0c72... Adjust Password Recover Email
stash@{2}: WIP on design: eb65635... Email Adjust
stash@{3}: WIP on design: eb65635... Email Adjust
Si j'essaye git stash apply f2c0c72
, j'obtiens une erreur:
fatal: Needed a single revision
f2c0c72: no valid stashed state found
Comment puis-je appliquer une cachette spécifique?
git stash apply 0
(au lieu degit stash apply stash@{0}
). Voir ma réponse ici .Réponses:
Les clés dans la cachette sont en fait les
stash@{n}
éléments sur la gauche. Alors essayez:(notez que dans certains coquilles, vous devez citer
"stash@{0}"
, comme zsh, fish et powershell).Depuis la version 2.11, c'est assez simple, vous pouvez utiliser le numéro de pile N au lieu d'utiliser
stash@{n}
. Alors maintenant, au lieu d'utiliser:Vous pouvez taper:
Pour obtenir la liste des stashes:
En fait,
stash@{0}
c'est une révision dans git que vous pouvez basculer vers ... maisgit stash apply ...
devrait comprendre comment DTRT pour l'appliquer à votre emplacement actuel.la source
gitk stash@{0}
afficher les modifications que vous avez apportées dans une cachette particulière.git stash apply "stash@{0}"
stash@{n}
est la commande la plus maladroite à taper. Y a-t-il des raccourcis pour faire cela autre que la création de votre propre alias ou fonction?git stash apply n
est paisiblePour appliquer une stash et la supprimer de la liste de stash, exécutez:
Pour appliquer une stash et la conserver dans le cache de stash, exécutez:
la source
git stash pop "stash@{n}"
git stash apply stash@"{n}"
git stash apply stash@`{n`}
(notez les backticks avant les accolades).Depuis la version 2.11, c'est assez simple, vous pouvez utiliser le numéro de pile N au lieu de dire
"stash@{n}"
. Alors maintenant, au lieu d'utiliser:Vous pouvez taper:
Par exemple, dans votre liste:
Si vous souhaitez postuler,
stash@{1}
vous pouvez taper:Sinon, vous pouvez l'utiliser même si vous avez des modifications dans votre répertoire depuis la 1.7.5.1, mais vous devez être sûr que la cachette n'écrasera pas les modifications de votre répertoire de travail si c'est le cas, vous obtiendrez une erreur:
Dans les versions antérieures à 1.7.5.1, il refusait de fonctionner s'il y avait un changement dans le répertoire de travail.
Notes de mise à jour de Git:
la source
Si l'on est sur une machine Windows et dans PowerShell, il faut citer l'argument tel que:
... ou pour appliquer les modifications et supprimer de la réserve:
Sinon, sans les guillemets, vous pourriez obtenir cette erreur:
la source
puis sélectionnez la réserve à appliquer et utilisez uniquement le numéro:
la source
La liste affichera tous les éléments cachés, par exemple: stash @ {0}:, stash @ {1}:, .., stash @ {n}:
Sélectionnez ensuite le nombre n qui désigne la cachette @ {n}:
la source