我一直在推动远程bitbucket回购,最近一位同事将他创建的新分支推到同一个回购中。
我正在尝试获取他上传的更改。
$ git branch -a
* master
localbranch1
localbranch2
remotes/origin/master
$ git branch -r
原点/主
在用于bitbucket的web ui中,我可以看到他所创建的分支。任何帮助/建议/方向将是最受欢迎的。感谢。
您需要提供更多信息。
编辑1
$ git fetch bitbucket
Password for 'https://xxxxx@bitbucket.org':
From https://bitbucket.org/user/repo
* branch HEAD -> FETCH_HEAD
如果他创建的分支名为 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而不是原点(至少我记得这是我刚才设置的)
编辑4
我按照kan的回答更新了bitbucket远程配置。
$ 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
感谢所有帮助我解决这个问题的人。
答案 0 :(得分:183)
如果您还没有这样做,请更新您的遥控器:
$ git remote update
$ git branch -r
答案 1 :(得分:92)
remote
部分还指定了提取规则。你可以添加类似的内容:
fetch = +refs/heads/*:refs/remotes/origin/*
从远程获取所有分支。 (或origin
)替换bitbucket
。
请在此处阅读:https://git-scm.com/book/en/v2/Git-Internals-The-Refspec
答案 2 :(得分:24)
如果使用--depth
参数进行克隆,则会将.git / config设置为不提取所有分支,而只设置为master。
您可以简单地省略参数或从
更新配置文件fetch = +refs/heads/master:refs/remotes/origin/master
到
fetch = +refs/heads/*:refs/remotes/origin/*
答案 3 :(得分:17)
我有同样的问题。似乎最简单的解决方案是删除遥控器,重新添加它,然后获取。
答案 4 :(得分:4)
如果您还没有执行“git fetch”,那么git branch -a
和git branch -r
不会显示所有远程分支。 git remote show origin
始终如一地运作。另外git show-ref
显示git仓库中的所有引用。但它就像git branch
命令