我想隐藏未跟踪的文件,但我继续传递错误的选项。对我来说这听起来是正确的:
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
不存储存储命令。
答案 0 :(得分:0)
如果没有完全理解问题发生的原因,我找到了一个快速解决方案:
git show -p --no-color [<stash>] | git apply
--no-color
选项从diff输出中删除任何颜色,因为它们搞砸了git apply
命令。
但是,如果有人可以编辑此答案,并提供git stash pop
失败原因的解释,那就太棒了。