从git reset恢复--hard HEAD

时间:2014-09-04 15:54:51

标签: git reset

我需要帮助,我还没有添加到回购的文件。 我做了

 git add this.php
 git add file.php

然后我觉得我想要取消它们,所以我做了

 git reset --hard HEAD

现在这些文件已经消失了。我该如何恢复这些文件?

2 个答案:

答案 0 :(得分:5)

幸运的是,您将这些文件添加到索引中,然后再从工作副本中取出它们。在这种情况下,它们已经包含在Git的对象数据库中。 (首先创建一个备份,以防你搞砸了。)

运行git fsck(可能带有--full标志)并注意"摇晃blob"。然后使用git show $hash显示blob的内容。如果找到您的文件(可能有几个类似的版本),请使用git show $hash > path/to/file将它们再次写入磁盘。

答案 1 :(得分:0)

如果没有提交硬拷贝,你就无法恢复文件。

你应该做一个软/混合重置,它只会取消暂存文件。在暂存文件后执行git status时,您可以从git中看到相同的建议。