不幸的是,我曾多次git reset --hard HEAD^
在几个文件中丢失了相当大的代码。有没有办法恢复那些提交,或者在这种情况下转发HEAD之前的位置,所以我可以提出我丢失的那些线?
答案 0 :(得分:17)
使用reflog恢复上一个HEAD的sha1。特别是,文章reflog, your safety net将与您特别相关。从那篇文章:
此命令最常见的用法是您刚刚完成了
git reset
并将HEAD
移回了一些提交。但是oops,你需要在第二次提交时留下的那些代码。废话。现在怎么样?
找到要返回的提交的sha1后,请使用以下内容:
git reset --hard 0a1b2c
答案 1 :(得分:0)
如果您刚刚提交了代码并且想撤消该代码,请运行git reset --hard HEAD@{1}
。