我刚刚升级了Git。我使用的是Git版本1.8.3。
今天早上,我试图在堆栈中隐藏一个更改1。
我跑了git stash pop stash@{1}
,遇到了这个错误。
致命:参数“ stash @ 1”含糊不清:未知修订或路径不在工作树中。使用“-”将路径与修订分开,例如:“ git [...]-[...]”
我已经尝试了20多种变体,并且使用apply
而不是pop
没有成功。有什么变化?还有其他人遇到吗?
我刚刚升级了Git。我使用的是Git版本1.8.3。
今天早上,我试图在堆栈中隐藏一个更改1。
我跑了git stash pop stash@{1}
,遇到了这个错误。
致命:参数“ stash @ 1”含糊不清:未知修订或路径不在工作树中。使用“-”将路径与修订分开,例如:“ git [...]-[...]”
我已经尝试了20多种变体,并且使用apply
而不是pop
没有成功。有什么变化?还有其他人遇到吗?
Answers:
git stash apply n
从git版本2.11开始工作
原始答案,可能有助于调试涉及外壳转义的较旧语法的问题:
如前所述,花括号可能需要转义或引用,具体取决于您的操作系统,外壳等。
有关可能出现问题的详细提示以及如何在各种shell和平台中解决该问题,请参见“ stash @ {1}是否不明确? ”。
git stash list
git stash apply stash@{n}
pop
存储特定的存储,此命令apply
将存储而不是弹出它。区别在于pop既将隐藏项应用到代码,又删除了隐藏项本身。
git stash apply n
git stash apply n
如果要确保不必处理语法的引号stash@{x}
,请使用Git 2.11(2016年第四季度)
参见Aaron M Watson()的commit a56c8f5(2016年10月24日)。(由Junio C Hamano合并--在commit 9fa1f90中,2016年10月31日)watsona4
gitster
stash
:允许隐藏仅由索引引用不必
stash@{n}
明确引用“ ”,而是可以简单地引用为“n
”。
大多数用户仅按其在存储堆栈中的位置来引用存储(这里我称之为“索引”)。典型的stash(
stash@{n}
)的语法有点烦人,容易忘记,有时很难在脚本中正确转义。因此,希望能够通过简单地引用索引来处理隐藏事务。
所以:
git stash drop 1
git stash pop 1
git stash apply 1
git stash show 1
在Windows Powershell上,我运行以下命令:
git stash apply "stash@{1}"
我已经安装了2.22,并且可以正常工作。
git stash pop --index 1
首先检查清单:
git stash list
复制您要从存储列表中弹出的索引
git stash pop stash@{index_number}
例如。:
git stash pop stash@{1}