执行后如何恢复:git reset

我犯了一个可怕的错误,执行“git reset - hard HEAD”,整天的本地修改失败了,我该如何恢复?

感谢数百万


如果你还没有提交你的本地修改(或者至少是通过git add它们,那么它们就不存在了) git reset --hard对于未提交的修改是一个破坏性的操作。

如果你确实发生了阶段但没有提交它们,请尝试git fsck --lost-found ,然后搜索.git/lost-found的内容 - 它将包含所有未被引用的对象一个已知的提交,并且可能包含已上演的文件的版本。


你可以使用git reflog 。 它会显示HEAD历史记录。 你可以在git reset --hard之前选择代表HEAD状态的哈希值git reset --hard并在另一个git reset --hard使用这个哈希值。


第一次运行:

git reflog

它会显示你的HEAD指针的历史。 然后从第一列中选​​择必要状态的sha-code。 我认为如果你只做了一次git重设,那么它将会在HEAD @ {1}附近。 接着

git merge SHA_CODE

答对了!

更多例子你可以在这里找到:http://www.programblings.com/2008/06/07/the-illustrated-guide-to-recovering-lost-commits-with-git/

链接地址: http://www.djcxy.com/p/23495.html

上一篇: How to recover after i execute :git reset

下一篇: Accidentally reverted to master, lost uncommitted changes