Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Github读取了我的源代码(我的提交已丢失)_Github_Github For Mac - Fatal编程技术网

Github读取了我的源代码(我的提交已丢失)

Github读取了我的源代码(我的提交已丢失),github,github-for-mac,Github,Github For Mac,昨天晚些时候,我完成了一天的工作,去github提交,然后点击同步按钮。我在屏幕上短暂地看到一条消息,上面说需要修复合并冲突,但在我完全阅读之前,该消息已自行解除 我未完成的任务消失了,所以我觉得一切都很好。今天早上我再次开始工作,我所做的所有新代码都已恢复到两天前的提交。这里没有提到我所做的任何改变,也没有提到我在工作结束前所做的承诺。。。他们刚刚走了 对恢复有什么建议吗 更新 值得一提的是,我浏览了git文件夹中的日志文件,看到了我的提交: 37c661799950211c713630301

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

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

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指向的位置之间的差异?