远程分支不在“git branch -r”中显示
我一直在推动一个远程的bitbucket回购,最近一位同事把他创build的一个新的分支推到了同一个回购站。
我正在尝试获取他上传的更改。
$ git branch -a * master localbranch1 localbranch2 remotes/origin/master $ git branch -r
产地/主
在networking上,我可以看到他所做的分支。 任何帮助/build议/方向将不胜感激。 谢谢。
任何进一步的信息,你只需要问。
编辑1
 $ git fetch bitbucket Password for 'https://xxxxx@bitbucket.org': From https://bitbucket.org/user/repo * branch HEAD -> FETCH_HEAD 
如果他创build的分支叫做new_branch_b ,我应该期待看到:
 $ git branch -r origin/master origin/new_branch_b 
编辑2
 $ git remote update Fetching bitbucket Password for 'https://xxxxx@bitbucket.org': From https://bitbucket.org/user/repo * branch HEAD -> FETCH_HEAD $ git branch -r origin/master 
编辑3
 [remote "bitbucket"] url = https://user@bitbucket.org/user/repo.git 
我称远程bitbucket而不是起源(至less这是我记得,我刚刚设置它)
编辑4
根据kan的回答,我更新了bitbucket的远程configuration。
$ git config -e
 [remote "bitbucket"] url = https://user@bitbucket.org/user/repo.git fetch = +refs/heads/*:refs/remotes/bitbucket/* 
对于大多数人来说,它将被称为起源
 [remote "origin"] url = https://user@bitbucket.org/user/repo.git fetch = +refs/heads/*:refs/remotes/origin/* 
之后
 $ git remote update Fetching bitbucket Password for 'https://user@bitbucket.org': remote: Counting objects: 48, done. remote: Compressing objects: 100% (32/32), done. remote: Total 35 (delta 21), reused 0 (delta 0) Unpacking objects: 100% (35/35), done. From https://bitbucket.org/user/repo * [new branch] branch_name1 -> origin/branch_name1 * [new branch] branch_name2 -> origin/branch_name2 
…. 等等。
 我认为git fetch origin也适用于git remote update 
感谢所有帮助过我解决这个问题的人。
  remote部分也指定了获取规则。 你可以添加类似的东西: 
 fetch = +refs/heads/*:refs/remotes/origin/* 
 从远程获取所有分支。  (或通过bitbucketreplaceorigin )。 
请在这里阅读: https : //git-scm.com/book/en/v2/Git-Internals-The-Refspec
如果你还没有这样做,请更新你的遥控器:
 $ git remote update $ git branch -r 
我遇到过同样的问题。 似乎最简单的解决scheme是只要删除远程,重新添加,并获取。
 如果使用--depth参数进行克隆,它会将.git / config设置为不提取所有分支,但只提取master。 
你可以简单地省略参数或更新configuration文件
 fetch = +refs/heads/master:refs/remotes/origin/master 
至
 fetch = +refs/heads/*:refs/remotes/origin/*