编辑:从git help stash
弹出部分的文档中:
应用状态可能会因冲突而失败;在这种情况下,它不会从存储列表中删除。您需要手动解决冲突,然后手动调用git stash drop。
如果使用--index选项,则不仅尝试恢复工作树的更改,而且尝试恢复索引的更改。但是,当您有冲突时(存储在索引中,因此您不再可以像以前那样应用更改),这可能会失败。
尝试将所有存储库硬拷贝到新目录(这样就可以得到副本)并运行:
git stash show
并在需要时将其保存在某个地方。
然后:git stash drop
删除冲突的存储,然后:git reset HEAD
那应该使您的存储库保持以前的状态(希望我仍然无法再现您的问题)
===
我正在尝试再现您的问题,但是当我使用时,我得到的git stash pop
只是:
error: Your local changes to the following files would be overwritten by merge:
...
Please, commit your changes or stash them before you can merge.
Aborting
在一个干净的目录中:
git init
echo hello world > a
git add a & git commit -m "a"
echo hallo welt >> a
echo hello world > b
git add b & git commit -m "b"
echo hallo welt >> b
git stash
echo hola mundo >> a
git stash pop
我没有看到git试图合并我的更改,但是失败了。您是否有任何复制步骤可为您效劳?