Git 是否可以从源/主服务器恢复对本地分支的提交?

Git 是否可以从源/主服务器恢复对本地分支的提交?,git,github,Git,Github,我怀疑这是不可能的,但觉得值得一试。我以前维护过一个本地存储库,它由一个主分支和几个功能分支组成。GitHub上的远程存储库跟踪主分支,并定期使用git push使其保持最新 在一次灾难性的本地故障以及今天从GitHub“恢复”到一台新机器上之后,我意识到在功能分支上有相当数量的不完整开发工作似乎丢失了 接下来的问题是,在GitHub repo中是否可以使用本地/主机之外的任何本地repo提交,如果可以,哪些命令将检索这些内容?,因为您用以下内容澄清了最初的问题: 在GitHub回购协议中,只有

我怀疑这是不可能的,但觉得值得一试。我以前维护过一个本地存储库,它由一个主分支和几个功能分支组成。GitHub上的远程存储库跟踪主分支,并定期使用
git push
使其保持最新

在一次灾难性的本地故障以及今天从GitHub“恢复”到一台新机器上之后,我意识到在功能分支上有相当数量的不完整开发工作似乎丢失了


接下来的问题是,在GitHub repo中是否可以使用本地/主机之外的任何本地repo提交,如果可以,哪些命令将检索这些内容?

,因为您用以下内容澄清了最初的问题:

在GitHub回购协议中,只有主分支。我现在假设可能需要在GitHub上创建远程分支来跟踪本地功能分支,但我从来没有这样做过

然后,如果功能分支(我的意思是除了您所说的被推送的
master
)从未被推送到远程,那么它们所做的任何提交都将未合并到
master
,是的,不幸地丢失


您最好的希望是在
master
历史记录中至少保留您所需的部分内容,并从中重建所需内容。

我想补充一点,如果您的本地克隆仍然存在分支(我不太确定),基于您的:

在发生灾难性本地故障之后,以及今天从GitHub“恢复”到新机器上之后

您可以使用
reflog
(这是
头部位置的日志)。

如果您最近签出了这些分支,您将在此处看到它们的提交

有一次你说你经常推,但在你问题的最后,我不是那么肯定。你推了吗?如果是,您现在当然可以
获取
它们。你的最后一句话很混乱,也许重新考虑一下。因为标题中的问题的答案肯定是“是的”,我定期将主分支推到GitHub(就在灾难发生之前);但在GitHub回购协议中,只有主分支。我现在假设可能需要在GitHub上创建远程分支来跟踪我的本地功能分支,但我从来没有这样做过,所以我不知道我要做什么
fetch
ing?只有推送到远程上的才是。远程设备不会神奇地与本地存储库保持同步。你的灾难性失败是什么性质的?你的硬盘死了吗?那些未经压缩的数据丢失了。不幸的是,这场灾难是笔记本电脑被盗,因此事实上无法恢复。谢天谢地,大多数功能分支最近已经合并到本地主功能中,因此没有太多丢失,但希望这些信息对人们来说是有价值的,因为我(愚蠢地)认为我已经在GitHub上备份了所有内容;一堂我不会马上忘记的课!我必须承认,在我的回答中,我假设“灾难性”是指无论如何都无法恢复的东西。