12

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

4

2 回答 2

17

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

该命令最常见的用法是您刚刚完成了 agit reset并向后移动HEAD了一些提交。但是,哎呀,您需要在第二次提交中留下的那段代码。废话。怎么办?

找到要返回的提交的 sha1 后,请使用以下内容:

git reset --hard 0a1b2c
于 2010-07-15T22:31:21.260 回答
0

git reset --hard HEAD@{1}如果您刚刚提交了代码并且想要撤消它,请运行。

请参阅http://book.git-scm.com/4_git_treeishes.html上名为“Ordinal Spec”的部分

于 2011-12-22T03:14:00.287 回答