2015-08-26 37 views
1

我的合作开发者提出了很多关于他的远程gitlab仓库的变化:合并,删除,创建新的分支机构等Git不会显示所有分行

现在我需要一个新的特性分支,他的工作刚创建。我打开我的Gitbash,做到:

git pull [email protected]:root/project-name.git 
git checkout new-feature 

我得到error: pathspec 'new-feature' didn't match any file(s) known to git.

然后我尝试:

git show-ref 

这只能说明两个分支,而它应该显示至少8 我也尝试过取其没有任何区别。

这些文件是否真的丢失或者它不是跟踪新的分支? 如何获取新分支到我的本地工作区? git clone解决它还是只会让它变得更糟?谢谢。

更新:感谢您的帮助,不幸的是,这两个建议都没有奏效,我不得不删除所有东西,从头开始设置并做一个新的git克隆。我们查看了错误日志,但没有找到任何线索。我想这只是其中一件事。

+0

你问过你的同事是否把他的新分支推到'origin'?如果是这样,你有没有尝试过'git pull origin new-feature'? – NuclearPeon

+0

'git branch -a'告诉你什么? – Jubobs

+0

'git pull [email protected]:root/project-name.git' - 是否可以工作? –

回答

0

你可以尝试让远程

git checkout origin/branch-name 

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

+0

谢谢,当我这样做时,我得到了和以前一样的pathspec错误。刚刚登录检查他的gitlab仪表板和网络部分看起来合乎逻辑。我可以看到所有8个分支。尽管如此,我只能在我的机器上访问两个。 –

0

你需要给一个名称库第一:

git remote add somerepo [email protected]:root/project-name.git 

然后,当你做一个拉git会存储在somerepo /新特性的远程跟踪分支,当你这样做git checkout new-feature它会创建一个新的地方分支基于此。

当你做git pull <url>只有HEAD被提取,它存储在FETCH_HEAD,这可能不是你想要的。

0

我知道这是一个古老的线程,但我偶然发现它,因为我有同样的问题。在检查'man git'之后,我发现'git fetch'有诀窍。因此,对于将来可能遇到此主题的任何人:

  1. 转到终端。
  2. 导航到项目目录。
  3. 输入git fetch

作为git fetch状态的描述:

取分支和/或标签(统称为“参考文献”)从一个或多个其他存储库,与要完成它们的历史的对象。远程跟踪 分支已更新(请参阅下面的说明以控制此行为的方法)。