我刚刚升级了Git。我使用的是Git 1.8.3版本。
今天早上,我想把零钱取出来。
我运行git stash pop stash@{1},得到这个错误。
致命:模糊参数“stash@1”:未知的修订或路径未在 工作树。 使用'——'将路径与修订分开,如下所示: “git[…——[…]’
我已经尝试了大约20个以上的变化,以及使用apply而不是pop,没有成功。是什么改变了?有人遇到过这种情况吗?
我刚刚升级了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.11中只使用数字:
git stash apply 1
包括哪些
在Windows Powershell上运行:
git stash apply "stash@{1}"
如果你想确保不必处理语法stash@{x}的引号,请使用Git 2.11(2016年Q4)。
参见Aaron M Watson (watsona4)提交a56c8f5(2016年10月24日)。 (由Junio C Hamano—gitster—在commit 9fa1f90中合并,2016年10月31日)
stash: allow stashes to be referenced by index only Instead of referencing "stash@{n}" explicitly, make it possible to simply reference as "n". Most users only reference stashes by their position in the stash stack (what I refer to as the "index" here). The syntax for the typical stash (stash@{n}) is slightly annoying and easy to forget, and sometimes difficult to escape properly in a script. Because of this the capability to do things with the stash by simply referencing the index is desirable.
So:
git stash drop 1
git stash pop 1
git stash apply 1
git stash show 1
首先检查清单:-
git stash list
复制索引,你想从收藏列表弹出
git stash pop stash@{index_number}
eg.:
git stash pop stash@{1}
这个答案我已经在这个列表中见过几次了,但是为了明确起见,至少从git 2.33.0版本开始,git stash pop stash@{n}是有效的。没有必要逃跑。