为了账号安全,请及时绑定邮箱和手机立即绑定

从重设中恢复过来-很难吗?

从重设中恢复过来-很难吗?

Git
达令说 2019-06-24 10:18:23
从重设中恢复过来-很难吗?是否有任何方法从git reset --hard HEAD?
查看完整描述

3 回答

?
青春有我

TA贡献1784条经验 获得超8个赞

你,你们不可能返回未提交的一般更改。

前阶段变动(git add)应该可以从索引对象中恢复,因此如果可以,请使用git fsck --lost-found来定位与它相关的对象。(这会将对象写入.git/lost-found/目录;从那里可以使用git show <filename>若要查看每个文件的内容,请执行以下操作。)

如果不是,这里的答案将是:查看您的备份。也许您的编辑器/IDE存储临时副本在/tmp或C下:\temp和诸如此类的东西。

git reset HEAD@{1}

这将恢复到以前的头部。


查看完整回答
反对 回复 2019-06-24
?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

$ git reflog show
93567ad HEAD@{0}: reset: moving to HEAD@{6}    
203e84e HEAD@{1}: reset: moving to HEAD@{1}    
9937a76 HEAD@{2}: reset: moving to HEAD@{2}
203e84e HEAD@{3}: checkout: moving from master to master
203e84e HEAD@{4}: reset: moving to HEAD~1
9937a76 HEAD@{5}: reset: moving to HEAD~1
d5bb59f HEAD@{6}: reset: moving to HEAD~1
9300f9d HEAD@{7}: commit: fix-bug

# said the commit to be recovered back is on 9300f9d (with commit message fix-bug)
$ git reset HEAD@{7}

你的一天回来了!:)


查看完整回答
反对 回复 2019-06-24
?
哔哔one

TA贡献1854条经验 获得超8个赞

我不小心跑了git reset --hard今天在我的回购上,今天也有未承诺的改变。为了把它拿回来,我跑了git fsck --lost-found,它将所有未引用的小块写入<path to repo>/.git/lost-found/..由于文件未提交,我在other目录中的<path to repo>/.git/lost-found/..从那里,我可以看到未提交的文件git show <filename>复制出这些气泡,并重新命名它们。

注意:只有在将要保存的文件添加到索引中(使用git add .)。如果文件不在索引中,它们就会丢失。


查看完整回答
反对 回复 2019-06-24
  • 3 回答
  • 0 关注
  • 582 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信