偶然跑了一个git reset --h。我有很多修改过的文件和一些新文件。
在重置之前,我没有创建提交,因此我无法查看reflog并恢复为提交。
告诉我有一种方法可以让这些文件恢复?! :(
答案 0 :(得分:1)
不,你无法恢复这些修改。
唯一的例外是如果你最近藏匿并释放它们,在这种情况下你可以阅读How to recover a dropped stash in Git?。
答案 1 :(得分:1)
在重置之前,您是否添加了要暂存的文件?如果是这样,那么以下方法将起作用:
git fsck --cache --no-reflogs --lost-found --unreachable HEAD
这将显示如下内容:
Checking object directories: 100% (256/256), done.
unreachable blob 97145fe866b78bf0ff0d59b0b4d6b69f1446faa9
然后你可以说
git cat-file blob 97145fe866b > file
然后将其添加回工作树。
不幸的是,如果您没有添加或提交文件,则无法在重置后恢复未分级的更改 - 硬件。