Github读取了我的源代码(我的提交已丢失)
昨天晚些时候,我完成了一天的工作,去github提交,然后点击同步按钮。我在屏幕上短暂地看到一条消息,上面说需要修复合并冲突,但在我完全阅读之前,该消息已自行解除 我未完成的任务消失了,所以我觉得一切都很好。今天早上我再次开始工作,我所做的所有新代码都已恢复到两天前的提交。这里没有提到我所做的任何改变,也没有提到我在工作结束前所做的承诺。。。他们刚刚走了 对恢复有什么建议吗 更新 值得一提的是,我浏览了git文件夹中的日志文件,看到了我的提交:Github读取了我的源代码(我的提交已丢失),github,github-for-mac,Github,Github For Mac,昨天晚些时候,我完成了一天的工作,去github提交,然后点击同步按钮。我在屏幕上短暂地看到一条消息,上面说需要修复合并冲突,但在我完全阅读之前,该消息已自行解除 我未完成的任务消失了,所以我觉得一切都很好。今天早上我再次开始工作,我所做的所有新代码都已恢复到两天前的提交。这里没有提到我所做的任何改变,也没有提到我在工作结束前所做的承诺。。。他们刚刚走了 对恢复有什么建议吗 更新 值得一提的是,我浏览了git文件夹中的日志文件,看到了我的提交: 37c661799950211c713630301
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
你可能先做了一个本地的承诺,不是吗?首先检查您当地的分支机构:
git log --oneline
不确定您做了什么,但如果推送时出现合并冲突,您仍应在本地进行更改。您可能先进行了本地提交,不是吗?首先检查您当地的分支机构:
git log --oneline
不确定您做了什么,但如果推送时出现合并冲突,您仍应在本地保留更改。尝试使用
git reflog
查找丢失提交的哈希值。然后,您可以使用git cherry pick
、git merge
或git reset--hard
(取决于您希望对丢失的历史记录执行的操作)进行恢复。如果需要查看差异以识别提交,请使用git reflog-p
尝试使用git reflog
查找丢失提交的哈希。然后,您可以使用git cherry pick
、git merge
或git reset--hard
(取决于您希望对丢失的历史记录执行的操作)进行恢复。如果您需要查看差异以识别提交,请使用git reflog-p这是使用github UI for mac。我做了本地提交,然后按下它(使用同步按钮)。git日志显示最后一次提交是我恢复到的提交(即,其中没有提到我的提交),因此打开github shell并检查上面的命令返回的内容。之后,我可以扩展我的答案,以帮助您恢复更改。如果您有本地提交,则失败的推送不会导致数据丢失!不确定github外壳在哪里;但是我已经安装了正常的git命令行工具。我去了我的本地repo并执行了git log命令,最近的提交显示是两天前的(不是我昨天晚些时候提交的)在这种情况下,按照@Michael Wild建议的答案,使用git reflog来计算丢失评论的ID。然后,创建一个新的分支,并从中挑选这个提交。这是使用GithubUI for mac。我做了本地提交,然后按下它(使用同步按钮)。git日志显示最后一次提交是我恢复到的提交(即,其中没有提到我的提交),因此打开github shell并检查上面的命令返回的内容。之后,我可以扩展我的答案,以帮助您恢复更改。如果您有本地提交,则失败的推送不会导致数据丢失!不确定github外壳在哪里;但是我已经安装了正常的git命令行工具。我去了我的本地repo并执行了git log命令,最近的提交显示是两天前的(不是我昨天晚些时候提交的)在这种情况下,按照@Michael Wild建议的答案,使用git reflog来计算丢失评论的ID。然后,创建一个新分支,并从中选择此提交。gitk是否显示远程中心repo启动的提交与本地repo指向的位置之间的差异?gitk是否显示远程中心repo启动的提交与本地repo指向的位置之间的差异?