2

昨天晚些时候,我完成了一天的工作并去 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
4

2 回答 2

4

尝试使用git reflog来查找丢失提交的哈希。然后,您可以使用git cherry-pick,git mergegit reset --hard(取决于您想对丢失的历史执行什么操作)来恢复。如果您需要查看差异以识别您的提交,请使用git reflog -p.

于 2013-02-13T14:43:56.623 回答
0

您可能首先进行了本地提交,不是吗?首先检查您当地的分支机构:

git log --oneline

不确定您做了什么,但如果在推送时发生合并冲突,您仍然应该在本地进行更改。

于 2013-02-13T14:11:47.777 回答