如何仅列出多个远程仓库中某一个的Git分支?
解决Git仅显示origin远程分支的问题
首先确认你的两个远程仓库是否都正确配置,执行命令查看所有远程仓库:
git remote -v
如果输出里能看到另一个远程仓库(比如命名为upstream),那大概率是该远程的分支信息还没拉取到本地——git branch -r只会显示本地已缓存的远程分支,没拉过的分支自然不会出现在列表里。
拉取指定远程的分支信息
执行以下命令拉取目标远程仓库的所有分支数据:
git fetch <你的另一个远程仓库名>
示例:如果远程仓库叫upstream,就运行git fetch upstream。
仅列出指定远程的分支
拉取完成后,你可以通过以下几种方式单独查看该远程的分支:
- 方式一:过滤
git branch -r的输出
示例:git branch -r | grep <远程仓库名>/git branch -r | grep upstream/ - 方式二:直接从远程服务器获取分支列表
这个命令无需提前git ls-remote --heads <远程仓库名>fetch,但不会将分支信息缓存到本地。 - 方式三:查看本地缓存的指定远程分支
git for-each-ref refs/remotes/<远程仓库名>/
如果执行git remote -v时看不到另一个远程仓库,说明你还没完成添加操作,先执行以下命令添加远程:
git remote add <远程仓库名> <仓库URL>
示例:git remote add upstream https://github.com/example/repo.git,之后再运行git fetch拉取分支信息。
内容的提问来源于stack exchange,提问作者Barnit Basnet
相关产品推荐
相关产品推荐

