我提交了一个错误的文件,所以我想清理它,但不小心我覆盖了目录中的所有文件,并将最后的文件提交给git。
请帮忙!
我做了什么:
git add fileIdidnotwanttoadd
git rm -r --cached .
git reset --hard HEAD
结果:我的所有修复都消失了!我修复了3个非常难的错误,它们都消失了!
谢谢大家。我使用了你的大多数建议,仍然需要重做一些东西,但现在都恢复了。没有更多的完美主义,我吸取了教训!
答案 0 :(得分:14)
(来自:Recover from git reset --hard?)
你一般无法取回未提交的更改,因此这里真正的答案是:查看备份。 也许您的编辑器/ IDE将临时副本存储在/ tmp 或C:\ TEMP之类的东西。[1]
git reset HEAD@{1}
这将恢复到之前的HEAD - 如果您之前已经提交了某些内容
[1]
此类功能可能会保存您的**
答案 1 :(得分:7)
git reflog
恢复它们。git rev-list
)答案 2 :(得分:7)
在各种情况下,您可以恢复文件:
git add <file>
包含您想要返回的内容时运行<file>
)那么应该可以(有点费力地)获取该文件通过关注this method。git stash
运行,可以通过git stash list
或上面的方法1.或2.恢复它们。否则,我担心你可能会失去运气。 :(
答案 3 :(得分:0)
我没有发现任何上述解决方案成功。运行
git status
在根目录中,您将看到所有未提交的更改。放弃由
引起的更改git -rm --cached <files>
你想要使用
git checkout -- *
我希望这有助于缓解压力。