git - 撤销意外的 git stash pop

标签 git git-stash

我在进行复杂的 merge 之前 stash 了一些本地更改,进行了 merge ,然后在运行 git stash pop 之前愚蠢地忘记了提交。 pop 产生了一些问题(大型代码库中的错误方法调用),这些问题被证明很难追踪。我运行了 git stash show,所以我至少知道哪些文件被更改了。如果不出意外,我想这是一个要做出更多 promise 的教训。

我的问题:是否可以在不撤销 merge 的情况下撤销 stash pop?

最佳答案

尝试使用 How to recover a dropped stash in Git?找到你 pop 的 stash 。我认为存储总是有两个提交,因为它保留了索引和工作副本(因此索引提交通常是空的)。然后 git show 它们以查看差异并使用 patch -R 取消应用它们。

关于git - 撤销意外的 git stash pop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6543519/

相关文章:

Git svn fetch、rebase、reset 和 dcommit 函数在一个 svn 分支上全部挂起且没有错误

git - Git 有计划改变他们的哈希函数吗?

git - 冲突解决后如何将文件移回冲突状态?

git - git stash pop 和 git stash apply 的区别

Git 存储 : "Cannot apply to a dirty working tree, please stage your changes"

git - 错误 : src refspec master does not match any

Git 从跟踪中删除已删除的文件

git - 如何在 1.8.3 中 Git stash pop specific stash?

Git:删除目录会删除 git stashes 吗?

git - 将 Git 存储备份到 GitHub