如何在1.8.3 Git隐藏流行特定的隐藏?

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

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

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

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

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

342162 次浏览
git stash apply n

从git 2.11版本开始运行

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

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

请参阅“stash@{1}是模糊的?”以获得一些可能出错的详细提示,以及如何在各种shell和平台中解决它。

git stash list
git stash apply stash@{n}

git stash apply version

你需要转义大括号:

git stash pop stash@\{1\}

更新

在git 2.11中只使用数字:

git stash apply 1

包括哪些

在Windows Powershell上运行:

git stash apply "stash@{1}"

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

git stash pop stash@"{1}"

如果你想确保必须处理语法stash@{x}的引号,请使用Git 2.11(2016年Q4)

参见提交a56c8f5(2016年10月24日)by 艾伦·M·沃森(watsona4) (由Junio C Hamano—gitster in 提交9 fa1f90合并,2016年10月31日)

stash:只允许索引引用存储

与其显式引用"stash@{n}",不如让它能够 简单地引用为"n".
大多数用户只根据他们在隐藏堆栈中的位置引用隐藏(我在这里称之为“索引”) 典型的stash (stash@{n})的语法有点烦人 容易忘记,<强>,有时很难正确地在一个 脚本< /强>。< / p >

因为这个能力做的事情与stash by 简单地引用索引是可取的

所以:

git stash drop 1
git stash pop 1
git stash apply 1
git stash show 1

如果以上方法都不起作用,那么在隐藏点周围加上引号可能对你有用:

git stash pop "stash@{0}"

首先检查清单:-

git stash list

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

git stash pop stash@{index_number}

如:

git stash pop stash@{1}

版本2.11+使用如下:

git stash list


git stash apply n

n是数字stash@ {12}

我已经安装了2.22,这个工作。

git stash pop --index 1

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