问题描述
我在本地计算机上创建了代码。
一旦我将代码推送到 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"