如何撤消`git reset --hard HEAD~1`?

时间:2015-03-03 09:18:28

标签: git

我刚发生了一起大事。我想撤消本地提交,然后运行git reset --hard HEAD~1。但是我有很多未提交的文件(大约两天的工作)。

所有未经修改的更改也已重置。

帮助!

如何撤消git reset --hard HEAD~1

2 个答案:

答案 0 :(得分:3)

您可以还原本地git文件夹中的ant代码,无论其是否已提交。

可以恢复的内容:

  • 所有提交的更改
  • 所有添加的项目(git add without git commit)
  • 所有松散的blob(悬空文件)

无法恢复的内容:

  • 从本地文件系统中删除文件。 (您可以使用扫描驱动器并恢复它们的第三方工具来恢复它们)

如何恢复:
首先运行 git reflog ro git log -g 以验证您清理了什么。然后检查您要恢复的提交 现在您必须恢复添加但未提交的文件。要查找运行 git fsck 的文件,它会打印出悬空文件。使用 git cat-file -p <SHA1> 将其打印到屏幕然后恢复。

git log -g将显示每个提交的reflog条目。

祝你好运。

答案 1 :(得分:0)

索赔! 你可以运行&#34; git reflog&#34;找到你的提交日志,然后运行&#34; git reset --hard&#34;。 希望它有效。