Git没有';不要显示所有的分支

Git没有';不要显示所有的分支,git,gitlab,Git,Gitlab,我的合作开发人员在他的远程gitlab存储库上做了很多更改:合并、删除、创建新分支等等 现在我需要处理他刚刚创建的一个新特性分支。我打开Gitbash,执行以下操作: git pull git@gitlab.example.com:root/project-name.git git checkout new-feature 我发现错误:pathspec“新功能”与git已知的任何文件都不匹配。 然后我试着: git show-ref 这只显示了两个分支,而它至少应该显示8个分支。 我也试着去

我的合作开发人员在他的远程gitlab存储库上做了很多更改:合并、删除、创建新分支等等

现在我需要处理他刚刚创建的一个新特性分支。我打开Gitbash,执行以下操作:

git pull git@gitlab.example.com:root/project-name.git
git checkout new-feature
我发现
错误:pathspec“新功能”与git已知的任何文件都不匹配。

然后我试着:

git show-ref
这只显示了两个分支,而它至少应该显示8个分支。 我也试着去拿,但没有任何区别

这些文件是否真的丢失了,或者只是没有跟踪新的分支? 如何将新分支连接到本地工作区? git clone是解决问题还是只会让事情变得更糟?谢谢


更新:谢谢你的帮助,不幸的是,这两个建议都不起作用,我不得不删除所有内容,从头开始设置,然后重新进行git克隆。我们查看了错误日志,但没有找到任何线索。我想这只是其中之一。

你可以试着用遥控器获取分支

git checkout origin/branch-name

此外,我们在gitlab UI中大量使用网络图来检查与分支的任何不一致。

您需要首先为存储库命名:

git remote add somerepo git@gitlab.example.com:root/project-name.git
然后,当您执行pull操作时,git会将远程跟踪分支存储在somerepo/new功能中,当您执行
git checkout new功能时,它会基于此创建一个新的本地分支


当您执行git pull时,只提取头部,并将其存储在FETCH_HEAD中,这可能不是您想要的。

我知道这是一个旧线程,但我只是因为遇到了同样的问题才无意中发现了它。在检查了“ManGit”之后,我发现“GitFetch”起了作用。因此,对于将来可能遇到此主题的任何人:

  • 去候机楼
  • 导航到项目目录
  • 输入
    git fetch
  • 正如
    git fetch
    的描述所述:

    从一个或多个其他存储库中获取分支和/或标记(统称为“ref”),以及完成其历史记录所需的对象。远程跟踪 分支已更新(有关控制此行为的方法,请参见下面的说明)


    你有没有问过你的同事,他是否把他的新分支机构推到了
    原点
    ?如果是这样,您是否尝试过git pull origin的新功能?
    git branch-a
    告诉您什么?
    git pullgit@gitlab.example.com:root/project name.git
    -这行得通吗?马特·麦克纳布,是的,为什么不行?上次我就是这样拿到文件的。它看起来有错吗?Jubobs,与git show ref相同,即我有2个分支,而不是8个。谢谢,当我这样做时,我会得到与以前相同的pathspec错误。刚刚登录查看他的gitlab仪表板,网络部分看起来合乎逻辑。我能看到全部8个分支。但我只能在我的机器上访问两个。谢谢!!这句话今天对我很有帮助。不管有没有旧线程,它仍然有用。