为什么';在Git中无法从远程还原已删除的分支?

为什么';在Git中无法从远程还原已删除的分支?,git,version-control,branch,restore,Git,Version Control,Branch,Restore,我的队友从远程存储库中删除了一个分支。使用git reflog很容易修复。但我注意到,如果没有branch或reflog的本地副本,就无法做到这一点 我的问题是——这背后的原因是什么?从现在起,所有Git设计决策似乎都是合理的,但我不能真正理解这一点。在我看来,这是因为您不仅删除了分支的标记,而且还将空分支推到了现有分支之上。查看此帖子:这解释了很多。但下一个问题是——git不应该阻止这种情况吗?我的意思是-它不应该保存所有代码历史记录吗,不管它是否在删除的分支上?我想在某种程度上应该这样做,但

我的队友从远程存储库中删除了一个分支。使用
git reflog
很容易修复。但我注意到,如果没有branch或reflog的本地副本,就无法做到这一点


我的问题是——这背后的原因是什么?从现在起,所有Git设计决策似乎都是合理的,但我不能真正理解这一点。

在我看来,这是因为您不仅删除了分支的标记,而且还将空分支推到了现有分支之上。查看此帖子:

这解释了很多。但下一个问题是——git不应该阻止这种情况吗?我的意思是-它不应该保存所有代码历史记录吗,不管它是否在删除的分支上?我想在某种程度上应该这样做,但我认为他们的方法更“你知道你在做什么,所以我会相信你,照你说的做”。此外,我认为,您可以对所获取的所有内容进行本地跟踪,这一点很有帮助,在reflog中更是如此