从本地计算机恢复 git 最新提交

问题描述

我在本地计算机上创建了代码

一旦我将代码推送到 git 服务器。

git add -A
git commit -m "test"
git push -u ...

在那之后,我在同一个分支上做了很多更改,然后提交了

git add -A
git commit -m "test"

提交成功,但我的推代替我确实

git checkout master

然后我意识到我没有推送代码,所以我做了

git checkout mybranch

我再次意识到我所做的结帐是从 git 服务器上进行的,我没有看到我的代码,即使我确实提交了。

我知道提交保留在我的本地计算机上,但是我的最新更改消失了吗?

如何恢复我的最新更改?

先谢谢你。

解决方法

您应该能够git switch (better than git checkout) 您的分支并查看您的代码。

但如果没有,请检查 git reflog,并查找最近提交的 SHA:尝试和 git switch --detach <SHA> 检查该提交,确保您的更改在那里。

OP Eitan 中的 the comments 报告已成功,使用 git log --pretty

我找到了日期+时间,然后结帐。

 git reflog --pretty=format:"%H %an %ad"