恢复 - git reset --hard HEAD ^

Lan*_*Lan 12 git commit reflog

不幸的是,我曾多次git reset --hard HEAD^在几个文件中丢失了相当大的代码.有没有办法恢复那些提交,或者在这种情况下转发HEAD之前的位置,所以我可以提出我丢失的那些线?

Gre*_*ill 17

使用reflog恢复先前HEAD的sha1.特别是文章reflog,您的安全网将与您特别相关.从那篇文章:

这个命令的最常见用法是你刚刚完成了一个git reset并且移动HEAD了一些提交.但是oops,你需要在第二次提交时留下的那些代码.废话.怎么办?

一旦找到了想要返回的提交的sha1,请使用以下内容:

git reset --hard 0a1b2c
Run Code Online (Sandbox Code Playgroud)

  • 你也可以重置为`HEAD @ {n}`,从reflog中找到合适的n (3认同)