Git笔记 hard reset恢复

发生背景

想撤销当前工作区的更改,没有commit也没有add,用了

$ git reset --hard HEAD^1

然后就悲剧了……

解决方案

记得学过git reflog指令,这个指令输出:

a2b9251 (HEAD -> bugfix/docs) HEAD@{0}: reset: moving to HEAD~1
6e0f50a HEAD@{1}: commit: 优化 UI 总描述
be1b78c HEAD@{2}: reset: moving to HEAD~1
a2b9251 (HEAD -> bugfix/docs) HEAD@{3}: commit: 统一 Console 、 Object 、 Event 、 Time 文档风格
be1b78c HEAD@{4}: commit: 修复首页错误的按钮链接
1c44d0c (origin/develop, develop) HEAD@{5}: checkout: moving from develop to bugfix/docs
1c44d0c (origin/develop, develop) HEAD@{6}: reset: moving to 1c44d0c
5d1cbed HEAD@{7}: commit: 生成静态文档,使用 Git LFS 存储静态文件
0b1bc99 HEAD@{8}: reset: moving to HEAD~
2cf4041 HEAD@{9}: commit: 生成静态文档
0b1bc99 HEAD@{10}: reset: moving to HEAD~
c1ca054 HEAD@{11}: commit: 生成静态文档

据说reset可以回滚到任意commit,然后试试

$ git reset --hard 6e0f50a

成功恢复。

发生原因

因为HEAD^1是上一个commit,而错误的文件还没有commit上去,导致回滚到了前2个commit。

最后,没事别用git reset --hard

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值