在让所有当地分支机构反对师父之后,我有两个本地分支机构失踪。然后我天真地进行了一次推动,认为所有分支都与主人同步,并且每个人都可以使用它们。
我删除了本地克隆并执行了新的克隆。现在所有的分支都在本地消失,即使它们在GitHub中可用。
如何强制这个愚蠢的工具给我所有的分支?
以下是four branches的回购。这是Git在一个新的克隆之后给我的东西:
$ git branch
* master
注意windows-store
,arm-neon
和atomics
现在在本地丢失。
这些看似相关:Git repository lost its remote branches?和Mysterious vanishing branches in git。但是,由于删除本地目录然后执行新的克隆,似乎Git应该能够找到所有分支。
答案 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
它将显示所有分支