我犯了一个严重的错误,执行了“git reset --hard HEAD”,导致今天的本地修改都丢失了,我该如何恢复呢?
非常感谢。
非常感谢。
您可以使用git reflog
命令。它会显示HEAD
的历史记录。您可以选择代表git reset --hard
之前HEAD状态的哈希值,并在另一个git reset --hard
中使用此哈希值。
第一次运行:
git reflog
这将显示您的HEAD指针的历史记录。 然后从第一列选择所需状态的SHA代码。如果您只执行了git reset --hard操作,我认为它将靠近HEAD@{1}。 然后
git merge SHA_CODE
太棒了!
更多示例可以在这里找到: http://www.programblings.com/2008/06/07/the-illustrated-guide-to-recovering-lost-commits-with-git/
git add
将它们暂存),那么它们会丢失。对于未提交的更改,git reset --hard
是一种破坏性操作。git fsck --lost-found
,然后搜索.git/lost-found
中的内容-它将包含所有未被已知提交引用的对象,并且可能包括已经被暂存的文件版本。git fsck --lost-found
拯救了我的生命,非常感谢。 - lutaoactgit fsck --lost-found
命令并在 .git/lost-found
目录下查看来恢复你添加的任何内容。运行 find .git/objects -type f | xargs ls -lt | sed 60q
将列出最近添加到版本库中的最后60个项目,这会有所帮助。git add
命令添加,那么它就像你自己删除了一样,是无法找回的。我使用Intelliji的“本地历史”恢复了未被“git add”的文件。