Github吃了我的源代码(我的提交已经不见了)

时间:2013-02-13 14:09:26

标签: github github-for-mac

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

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:0)

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

git log --oneline

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