远程分支不在“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/*
从远程获取所有分支。 (或通过bitbucket
replaceorigin
)。
请在这里阅读: 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/*