Git 从重置提交中恢复,无需按

Git 从重置提交中恢复,无需按,git,commit,reset,recover,Git,Commit,Reset,Recover,我昨天有两次提交,无法推送,因为我没有互联网连接。在那之后,我编写了一些代码,意识到它相当混乱,并希望将其还原为HEAD commit。我做了git重置--hard HEAD(硬头),我的一些文件(我很确定我提交的)丢失了。现在我看的是一周前的版本,我的git状态显示您的分支比'origin/master'提前了2次提交。有些“丢失”文件在我的git状态中列出为已修改,即使它们在我的系统上是空文件(仅包括标题) 我的代码是否可恢复?如果您确实进行了提交,您可以使用git reflog查看修订历史

我昨天有两次提交,无法推送,因为我没有互联网连接。在那之后,我编写了一些代码,意识到它相当混乱,并希望将其还原为HEAD commit。我做了git重置--hard HEAD(硬头),我的一些文件(我很确定我提交的)丢失了。现在我看的是一周前的版本,我的git状态显示
您的分支比'origin/master'提前了2次提交
。有些“丢失”文件在我的git状态中列出为已修改,即使它们在我的系统上是空文件(仅包括标题)


我的代码是否可恢复?

如果您确实进行了提交,您可以使用
git reflog
查看修订历史记录。它列出了在克隆上执行的所有操作,与分支和标记无关


然而,如果你在回购协议中进行了git重置(硬头),并进行了本地更改(分阶段或非阶段更改),那么这些更改将丢失-这似乎是你的情况。运行
git log
时,您是否仍能在日志中看到昨天所做的2次提交?您的分支机构在“origin/master”之前进行了两次提交,这一消息表明了这一点。

是的,我看到了两次提交。这两次提交是否包含您担心丢失的更改?是的。我刚刚意识到,在xCode中比较版本时,我可以看到我的本地(当前)版本和头版本,这确实是丢失的代码。问题是有些文件丢失了,我也需要它们。可能您的环境(XCode)也在运行
git clean
,然后甚至git未知的文件也被删除了。