1

我昨天有两次提交,因为我没有互联网连接而无法推送。在那之后,我写了一些代码,发现它很乱,想把它恢复为 HEAD 提交。我做到git reset --hard HEAD了,我的一些文件(我很确定我提交了)丢失了。现在我正在查看一个一周前的版本,我的 git status 说Your branch is ahead of 'origin/master' by 2 commits. 一些“丢失”的文件在我的 git status 中列为已修改,即使它们是我系统上的空文件(只是包含头文件)。

我的代码可以恢复吗?

4

1 回答 1

0

如果您真的提交了,您可以使用git reflog. 它列出了在您的克隆上完成的所有操作,独立于分支和标签。

但是,如果您git reset --hard HEAD在回购中进行了本地更改(分阶段或不分阶段),它们就会丢失 - 这似乎是您的情况。运行git log时,您是否仍然在日志中看到您昨天所做的 2 次提交?这由消息Your branch is ahead of 'origin/master' by 2 commits表示。

于 2013-03-04T08:00:20.380 回答