我执行后如何恢复:git reset –hard HEAD
我犯了一个可怕的错误,执行“git reset – hard HEAD”,整天的本地修改失败了,我该如何恢复?
感谢数百万
如果你还没有提交你的本地修改(或者至less是通过git add
,那么它们就不存在了) git reset --hard
对于未提交的修改是一个破坏性的操作。
如果你确实发生了阶段,但没有提交它们,请尝试git fsck --lost-found
,然后search.git/lost-found
的内容 – 它将包含所有未被引用的对象一个已知的提交,并且可以包括已经上演的文件的版本。
你可以使用git reflog
。 它会显示HEAD
历史。 你可以在git reset --hard
之前select表示HEAD状态的哈希,并在另一个git reset --hard
使用这个哈希值。
第一次运行:
git reflog
它会显示你的头指针的历史。 然后从第一列中选择必要状态的sha-code。 我认为这将是靠近HEAD @ {1},如果你只是混帐重置 – 一次硬。 接着
git merge SHA_CODE
答对了!
更多的例子,你可以在这里find: http : //www.programblings.com/2008/06/07/the-illustrated-guide-to-recovering-lost-commits-with-git/
你可以用git fsck --lost-found
来恢复你的git add
ed, git fsck --lost-found
.git/lost-found
。 find .git/objects -type f | xargs ls -lt | sed 60q
find .git/objects -type f | xargs ls -lt | sed 60q
会给你最后60个东西添加到回购,这将有所帮助。
任何你没有git add
东西肯定就像你自己删除了一样。
如果您的IDE具有“本地历史logging”(Eclipse具有此function,IDEA也AFAIK),那么也许可以通过这种方式恢复您的更改。
我用我的Intelliji“本地历史”恢复了不是“git add”的文件。