昨天晚些时候,我完成了一天的工作,然后去了github并提交,然后按下同步按钮。我简单地在屏幕上看到一条消息,说明需要修复合并冲突的事情,但是在我完全阅读它之前,消息是自我解雇的。
我的杰出提交消失了,所以我觉得一切都很顺利。今天早上我再次开始工作,我所做的所有新代码都已从两天前恢复到之前的提交。没有提到我所做的任何改变,也没有提到我在完成工作日之前所做的改变......他们刚刚离开。
有关恢复的任何建议吗?
更新
为了它的价值,我正在浏览我的git文件夹中的日志文件,我看到了我的提交:
37c661799950211c713630301cf8cbe609de6c59 f94366329fa93cec529b83b34a607449725f5270 [user info removed] 1360710557 -0700 commit: Shout page
f94366329fa93cec529b83b34a607449725f5270 b588ed19e77ef55611a4a82896c5ef2c26f3e4cd [user info removed] 1360710567 -0700 checkout: moving from master to b588ed19e77ef55611a4a82896c5ef2c26f3e4cd^0
b588ed19e77ef55611a4a82896c5ef2c26f3e4cd b588ed19e77ef55611a4a82896c5ef2c26f3e4cd [user info removed] 1360710576 -0700 rebase finished: returning to refs/heads/master
答案 0 :(得分:4)
尝试使用git reflog
查找丢失提交的哈希值。然后,您可以使用git cherry-pick
,git merge
或git reset --hard
(取决于您想要对丢失的历史记录执行的操作)来恢复。如果您需要查看差异以识别您的提交,请使用git reflog -p
。
答案 1 :(得分:0)
你可能先做了一次本地提交,不是吗?首先检查您当地的分支机构:
git log --oneline
不确定您做了什么,但如果在推送时出现合并冲突,您仍应在本地进行更改。