我在这里看到了类似的问题,但据我所知,它们并不能解决我的确切情况(如果我错了,请纠正我)。
我意外地重写了大量的代码,做了一个git藏,git拉。我在项目中的子目录中运行了这些命令,一个同事正在向其中添加代码,我的目的是只提取这些更改。然而,它也拉出了我正在开发的子目录的旧版本,现在我至少损失了一天甚至更多的工作。
我的问题是:有办法恢复到本地文件吗?我没有提交我的更改,所以除了本地机器上的内容之外,没有其他的记录。
发布于 2017-10-05 14:34:26
如果我正确地阅读了你的问题,你在做有问题的git stash之前做了git pull。当您存储时,Git创建2(有时为3),提交以涵盖对工作目录和阶段的更改。在这种意义上,藏物是一种完整的快照。
当您做拉,假设您没有重基,但进行了合并,应该有一个新的单一合并提交在您的分支之上。您可以通过键入git log和检查来验证这一点。
我建议用核武器攻击你的错误承诺,然后用你的藏品,让你回到原来的状态:
git checkout yourBranch # assuming this happened on yourBranch
git reset --hard HEAD~1
git stash apply这将使您处于初始提交状态,您的工作目录和阶段也处于原来的状态。
https://stackoverflow.com/questions/46588165
复制相似问题