使用git branch -r命令无法显示所有远程分支

4
当我执行命令:

git branch -r

时,它只显示:
origin/HEAD -> origin/master
  origin/development-elton
  origin/master

当执行命令:

git remote show origin时,它会显示:

 remote origin
  Fetch URL: git@bitbucket.org:r2a_/grconsig.git
  Push  URL: git@bitbucket.org:r2a_/grconsig.git
  HEAD branch: master
  Remote branches:
    caio-dev                   new (next fetch will store in remotes/origin)
    controle-usuario           new (next fetch will store in remotes/origin)
    development-elton tracked
    master                     tracked
    rails-admin                new (next fetch will store in remotes/origin)
    **refinancy            new (next fetch will store in remotes/origin)**

如何将分支的修订版本拉取到本地?

3个回答

15

如果现有的答案不足够,您可以检查您的.git/config文件。在我的情况下,我有以下部分:

[remote "origin"]
        url = https://github.com/John/project1
        fetch = +refs/heads/master:refs/remotes/origin/master

我已经编辑了文件:

[remote "origin"]
        url = https://github.com/John/project1
        fetch = +refs/heads/*:refs/remotes/origin/*

然后,我能够使用git fetch获取所有分支。

有时候会发生这种情况,如果你使用以下命令更改了远程仓库:

git remote set-url origin  https://github.com/John/project1

在添加了[remote "origin"]之后,我能够从Gitlab上使用git fetch --all获取我的所有分支。这里可以找到一些解释:https://gitguys.com/topics/the-configuration-file-remote-section-git-config/ - viktorkho
谢谢!这个可以工作,但是我该如何将其设置为默认值?每次克隆时都会创建错误的配置! - Burner

5

扩展mipadi的回答:

查看所有远程分支(单个远程):

git fetch
git branch -r

查看所有远程分支(包括多个远程分支):

git remote -v //shows names and URLs of remotes
git fetch --all
git branch -r

3

您需要运行git fetch以获取最新的分支。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接