我犯了一个严重的错误,执行了"git重置--硬头“,一整天的本地修改都丢失了,我怎么才能找回它?
感谢数百万人
发布于 2013-01-10 13:18:31
如果你还没有提交你的本地更改(或者至少通过git add
提交它们,它们就会消失)。git reset --hard
是对未提交更改的破坏性操作。
如果您碰巧提交了它们,但没有提交,请尝试git fsck --lost-found
,然后搜索.git/lost-found
的内容-它将包含所有未被已知提交引用的对象,并可能包括已提交的文件的版本。
发布于 2013-01-10 14:59:29
您可以使用git reflog
。它将显示HEAD
历史记录。您可以选择表示git reset --hard
之前的头部状态的散列,并在另一个git reset --hard
中使用此散列。
发布于 2014-01-15 22:22:43
第一次运行:
git reflog
它将显示您的头指针的历史记录。然后从第一列中选择必要状态的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/
https://stackoverflow.com/questions/14251194
复制相似问题