J'essaie d'obtenir des informations sur ma réserve, mais git me le dit stash@{0}
et stash@{1}
est ambigu. git stash list
fonctionne bien, et .git/logs/refs/stash
semble avoir le contenu approprié (non pas que je sois un expert en interne de git).
% git stash list
stash@{0}: On master: two
stash@{1}: On master: one
% git stash show stash@{1}
fatal: ambiguous argument 'stash@1': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions
Tout simplement git stash show
fonctionne bien. Alors pourquoi les noms qui git stash list
me donnent sont-ils considérés comme ambigus?
stash
, ce qui causait l'erreur.stash
, provoquant l'erreur!Réponses:
Votre shell mange vos accolades, alors pendant que vous dites
stash@{1}
, git voitstash@1
et cela n'a aucun sens pour cela. Citez l'argument (utilisezgit stash apply "stash@{1}"
ougit stash apply stash@"{1}"
; citation de l'une ou l' autre manière fonctionnera) ou reconfigurez votre shell pour développer uniquement les accolades lorsqu'il y a une virgule entre eux (zsh peut être configuré dans les deux sens, bash ne développe que les accolades avec une virgule ou une plage entre eux, autre les coquilles peuvent se comporter d’une manière ou d’une autre).la source
(git stash drop stash@`{1`})
Salut, j'ai eu la même chose qui m'est arrivée. Le moyen le plus simple de résoudre ce problème était:
J'utilise un shell git windows.
la source
git stash apply "stash@{2}"
Si vous rencontrez cette erreur en travaillant dans Emacs avec Magit sur Windows (comme moi),
j'espère que cette solution rapide vous aidera:
Cela va citer
{}
dans un 3ème paramètre dans("stash", "cmd", "stash@{0}")
lequel est exécuté parmagit-run-git
la source
Pour les utilisateurs zsh:
la source
Mettez simplement l'identifiant entre guillemets simples:
la source