如何从GitHub恢复Git似乎在本地丢失的远程分支?

时间:2016-05-06 14:00:26

标签: git

在让所有当地分支机构反对师父之后,我有两个本地分支机构失踪。然后我天真地进行了一次推动,认为所有分支都与主人同步,并且每个人都可以使用它们。

我删除了本地克隆并执行了新的克隆。现在所有的分支都在本地消失,即使它们在GitHub中可用。

如何强制这个愚蠢的工具给我所有的分支?

以下是four branches的回购。这是Git在一个新的克隆之后给我的东西:

$ git branch
* master

注意windows-storearm-neonatomics现在在本地丢失。

这些看似相关:Git repository lost its remote branches?Mysterious vanishing branches in git。但是,由于删除本地目录然后执行新的克隆,似乎Git应该能够找到所有分支。

2 个答案:

答案 0 :(得分:4)

当然他们是"失踪"。如果你执行git branch -r,你将获得遥控器的分支,或者如果你git branch -a,你将获得所有本地和远程分支机构。在克隆Git(这是一个非常智能的工具)上查看远程存储库的HEAD引用是什么,并在本地克隆中创建它的本地版本。如果您想要其他远程分支的本地分支,只需创建它们或只是按名称检查它们,并自动创建相应的本地分支。

更新:如果您在克隆命令中使用--mirror,您将使用分支作为本地分支而不是远程分支,但这通常不是您想要在本地工作的存储库。

答案 1 :(得分:1)

  

更新远程跟踪分支:

     

git fetch origin

     

上述命令从远程refs / heads / namespace复制所有分支,并将它们存储到本地refs / remotes / origin / namespace,除非使用branch..fetch选项指定非默认的refspec。

     

比你使用git命令后

     

git branch -r

     

它将显示所有分支