首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在执行后恢复:git reset --hard HEAD

如何在执行后恢复:git reset --hard HEAD
EN

Stack Overflow用户
提问于 2013-01-10 13:11:10
回答 6查看 8.6K关注 0票数 11

我犯了一个严重的错误,执行了"git重置--硬头“,一整天的本地修改都丢失了,我怎么才能找回它?

感谢数百万人

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-01-10 13:18:31

如果你还没有提交你的本地更改(或者至少通过git add提交它们,它们就会消失)。git reset --hard是对未提交更改的破坏性操作。

如果您碰巧提交了它们,但没有提交,请尝试git fsck --lost-found,然后搜索.git/lost-found的内容-它将包含所有未被已知提交引用的对象,并可能包括已提交的文件的版本。

票数 17
EN

Stack Overflow用户

发布于 2013-01-10 14:59:29

您可以使用git reflog。它将显示HEAD历史记录。您可以选择表示git reset --hard之前的头部状态的散列,并在另一个git reset --hard中使用此散列。

票数 30
EN

Stack Overflow用户

发布于 2014-01-15 22:22:43

第一次运行:

代码语言:javascript
运行
复制
git reflog

它将显示您的头指针的历史记录。然后从第一列中选择必要状态的sha-code。我认为如果你只重置一次git --硬的,它将会接近HEAD@{1}。然后

代码语言:javascript
运行
复制
git merge SHA_CODE

对啰!

您可以在此处找到更多示例:http://www.programblings.com/2008/06/07/the-illustrated-guide-to-recovering-lost-commits-with-git/

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14251194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档