我刚刚升级了Git。我使用的是Git 1.8.3版本。

今天早上,我想把零钱取出来。

我运行git stash pop stash@{1},得到这个错误。

致命:模糊参数“stash@1”:未知的修订或路径未在 工作树。 使用'——'将路径与修订分开,如下所示: “git[…——[…]’

我已经尝试了大约20个以上的变化,以及使用apply而不是pop,没有成功。是什么改变了?有人遇到过这种情况吗?


当前回答

git stash apply n

从git 2.11版本开始运行

原来的答案,可能有助于调试涉及shell转义的旧语法问题:

如前所述,大括号可能需要转义或引用,这取决于您的操作系统、shell等。

请参阅“stash@{1}是模棱两可的?”,了解可能出现错误的一些详细提示,以及如何在各种shell和平台中绕过它。

git stash list
git stash apply stash@{n}

Git stash应用版本

其他回答

这个答案我已经在这个列表中见过几次了,但是为了明确起见,至少从git 2.33.0版本开始,git stash pop stash@{n}是有效的。没有必要逃跑。

git stash apply n

从git 2.11版本开始运行

原来的答案,可能有助于调试涉及shell转义的旧语法问题:

如前所述,大括号可能需要转义或引用,这取决于您的操作系统、shell等。

请参阅“stash@{1}是模棱两可的?”,了解可能出现错误的一些详细提示,以及如何在各种shell和平台中绕过它。

git stash list
git stash apply stash@{n}

Git stash应用版本

版本2.11+使用如下:

git stash list

git stash apply n

N是数字“stash@{12}”

首先检查清单:-

git stash list

复制索引,你想从收藏列表弹出

git stash pop stash@{index_number}

eg.:

git stash pop stash@{1}

正如罗伯特指出的那样,引号可能对你有用:

git stash pop stash@"{1}"