Git:恢复git重置 - 硬

时间:2014-03-06 13:41:43

标签: git

偶然跑了一个git reset --h。我有很多修改过的文件和一些新文件。

在重置之前,我没有创建提交,因此我无法查看reflog并恢复为提交。

告诉我有一种方法可以让这些文件恢复?! :(

2 个答案:

答案 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

然后将其添加回工作树。

不幸的是,如果您没有添加或提交文件,则无法在重置后恢复未分级的更改 - 硬件。