如何从“git stash save --all”中恢复?

时间:2013-12-14 17:16:53

标签: git git-stash

我想隐藏未跟踪的文件,但我继续传递错​​误的选项。对我来说这听起来是正确的:

git stash save [-a|--all]

但实际上这也隐藏了文件。正确的是:

git stash save [-u|--include-untracked]

当我运行git stash save -a并尝试git stash pop时,我会为所有被忽略的文件收到无数错误:

path/to/file1.ext already exists, no checkout
path/to/file1.ext already exists, no checkout
path/to/file1.ext already exists, no checkout
...
Could not restore untracked files from stash

所以命令失败。

如何恢复跟踪和未跟踪的更改? git reflog不存储存储命令。

1 个答案:

答案 0 :(得分:0)

如果没有完全理解问题发生的原因,我找到了一个快速解决方案:

git show -p --no-color [<stash>] | git apply

--no-color选项从diff输出中删除任何颜色,因为它们搞砸了git apply命令。

但是,如果有人可以编辑此答案,并提供git stash pop失败原因的解释,那就太棒了。