如何列出Git 1.7+中的所有远程分支?
我已经尝试了git branch -r
,但是只列出了我在本地跟踪的远程分支。 如何找到我还没有的人的名单? (对我而言,命令列出所有远程分支还是仅列出未跟踪的分支都无关紧要。)
#1楼
但
git branch -ar
应该这样做。
#2楼
remote show
显示了远程上的所有分支,包括那些未在本地跟踪的分支,甚至尚未提取的那些。
git remote show <remote-name>
它还尝试显示相对于本地存储库的分支状态:
> git remote show origin
* remote originFetch URL: C:/git/.\remote_repo.gitPush URL: C:/git/.\remote_repo.gitHEAD branch: masterRemote branches:branch_that_is_not_even_fetched new (next fetch will store in remotes/origin)branch_that_is_not_tracked trackedbranch_that_is_tracked trackedmaster trackedLocal branches configured for 'git pull':branch_that_is_tracked merges with remote branch_that_is_trackedmaster merges with remote masterLocal refs configured for 'git push':branch_that_is_tracked pushes to branch_that_is_tracked (fast-forwardable)master pushes to master (up to date)
#3楼
您也可以先执行git fetch
,再执行git branch -r
。 没有获取,您将看不到最新的分支。
#4楼
使用git branch -r
列出所有远程分支,而git branch -a
列出本地和远程的所有分支。 这些列表已经过时了。 要使这些列表保持最新,请运行
git remote update --prune
它将使用来自远程的所有新分支列表来更新本地分支列表,并删除不再存在的所有分支列表。 在不使用--prune的情况下运行此更新命令将检索新分支,但不会删除不再在远程上的分支。
您可以通过指定一个遥控器来加快此更新的速度,否则它将从您添加的所有遥控器中提取更新。
git remote update --prune origin
#5楼
确保您列出的远程源确实是您想要的存储库,而不是较旧的克隆。
#6楼
最好的命令是git remote show [remote]
。 这将显示所有已跟踪和未跟踪的分支机构(远程和本地)。
这是一个来自开源项目的示例:
> git remote show origin
* remote originFetch URL: https://github.com/OneBusAway/onebusaway-androidPush URL: https://github.com/OneBusAway/onebusaway-androidHEAD branch: masterRemote branches:amazon-rc2 new (next fetch will store in remotes/origin)amazon-rc3 new (next fetch will store in remotes/origin)arrivalStyleBDefault new (next fetch will store in remotes/origin)develop trackedmaster trackedrefs/remotes/origin/branding stale (use 'git remote prune' to remove)Local branches configured for 'git pull':develop merges with remote developmaster merges with remote masterLocal refs configured for 'git push':develop pushes to develop (local out of date)master pushes to master (up to date)
如果我们只想获取远程分支,可以使用grep
。 我们要使用的命令是:
grep "\w*\s*(new|tracked)" -E
使用此命令:
> git remote show origin | grep "\w*\s*(new|tracked)" -Eamazon-rc2 new (next fetch will store in remotes/origin)amazon-rc3 new (next fetch will store in remotes/origin)arrivalStyleBDefault new (next fetch will store in remotes/origin)develop trackedmaster tracked
您还可以为此创建一个别名:
git config --global alias.branches "!git remote show origin | grep \w*\s*(new|tracked) -E"
然后,您可以运行git branches
。
#7楼
我最终做了一个混乱的shell管道来获得想要的东西。 我只是从原始远程合并分支:
git branch -r --all --merged \| tail -n +2 \| grep -P '^ remotes/origin/(?!HEAD)' \| perl -p -e 's/^ remotes\/origin\///g;s/master\n//g'
#8楼
尝试:
git branch -at
ََََََََََََََََََََََََََََََ
#9楼
git branch -a | grep remotes/*
#10楼
对于此处的绝大多数访问者[1] , 正确和最简单的回答是 “如何在Git 1.7+中列出所有远程分支?”的问题。 是:
git branch -r
对于少数[1],git branch -r
不起作用。 如果git branch -r
不起作用,请尝试:
git ls-remote --heads <remote-name>
如果git branch -r
不起作用,则可能如Cascabel所说: “您已经修改了默认的 refspec ,因此git fetch
和git remote update
不会获取所有remote
的分支” 。
[1]在撰写本脚注2018-Feb时,我查看了评论,发现git branch -r
适用于绝大多数(大约140的 90%或125 )。
如果git branch -r
不起作用,请按照此答案检查git config --get remote.origin.fetch
包含通配符( *
)
#11楼
Git分支-远程分支
git ls-remote
Git文档 。
#12楼
我找到的最简单的方法是:
git branch -a
#13楼
TL; TR;
这是您的问题的解决方案:
git remote update --prune # To update all remotes
git branch -r # To display remote branches
要么:
git remote update --prune # To update all remotes
git branch <TAB> # To display all branches
#14楼
使用Git Bash ,您可以使用:
git branch -a
#15楼
使用此命令,
git log -r --oneline --no-merges --simplify-by-decoration --pretty=format:"%n %Cred CommitID %Creset: %h %n %Cred Remote Branch %Creset :%d %n %Cred Commit Message %Creset: %s %n"CommitID : 27385d919
Remote Branch : (origin/ALPHA)
Commit Message : New branch created
它列出了所有远程分支,包括远程分支引用的提交消息和提交ID。
#16楼
尝试这个...
git fetch origin
git branch -a
#17楼
我会用:
git branch -av
该命令不仅向您显示所有分支的列表,包括以/remote
开头的远程分支,还向您提供有关更新内容和最后提交注释的*
反馈。
#18楼
如果您知道应该列出一个远程分支,但没有列出该分支,则您可能要使用以下命令验证您的来源设置正确:
git remote show origin
如果这一切都很好,也许您应该运行一个更新:
git remote update
假设运行成功,您应该能够执行其他回答:
git branch -r
#19楼
只需运行git fetch
命令。 它将所有远程分支拉到本地存储库,然后执行git branch -a
列出所有分支。
如何列出Git 1.7+中的所有远程分支?相关推荐
- git命令推送本地到远程分支
目录 git命令推送本地到远程分支 1.从命令行创建一个新的仓库 2.从命令行推送已经创建的仓库 3.删除远程 Git 仓库 fetch -p 修剪远程分支 Git复制已有分支到新分支开发 g ...
- 如何在Git中克隆所有远程分支?
我有一个master和一个development分支,都被推送到GitHub . 我已经clone d, pull ed和fetch ed,但是除了master分支以外,我仍然无法获得任何东西. 我敢 ...
- git 无法拉取新的远程分支
我们常常会根据远程分支创建本地分支,命令如下 git checkout -b dev origin/dev 上面的命令我是想把远程分支 dev 拉到本地来,但是有时候没有用,提示远程分支不存在,我们需 ...
- 【git之路】拉取远程分支到本地
文章目录 1.新建一个空文件夹 2.初始化 3.自己要与origin master建立连接(下划线为远程仓库链接) 4.把远程分支拉到本地 5.在本地创建分支dev并切换到该分支 6.把某个分支上的内 ...
- git删除远程分支问题及git批量删除已合并的远程分支
本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/22 先说问题: 目前开发的项目比较多,分支存在也比较多 ...
- linux中tags文件能删除吗,Git 详细介绍查看、删除、重命名远程分支和tag
Git 详细介绍查看.删除.重命名远程分支和tag 1. 查看远程 分支加上-a参数可以查看远程分支,远程分支会用红色表示出来: xiaosi@Qunar:~/code/qtown-score$ gi ...
- Git checkout:更新路径与切换分支不兼容
我的问题与切换分支时的致命Git错误有关. 我尝试使用该命令获取远程分支 git checkout -b local-name origin/remote-name 但我收到此错误消息: 致命:git ...
- 【错误记录】Git 使用报错 ( git branch -a 仍能查询到已经删除的远程分支 )
文章目录 一.报错信息 二.解决方案 一.报错信息 之前已经执行 git push origin --delete feature1 命令 , 删除了 feature1 远程分支 , 删除操作成功 , ...
- 5 Git 分支 - 远程分支
远程分支 远程引用是对远程仓库的引用(指针),包括分支.标签等等.你可以通过 git ls-remote (remote) 来显式地获得远程引用的完整列表,或者通过 git remote show ( ...
最新文章
- 徐玉玉案宣判了,反思大数据能够做些什么!
- 驰骋工作流携手山东金义,实施落地上海光大银行
- 通俗易懂地解决中文乱码问题(2) --- 分析解决Mysql插入移动端表情符报错 ‘incorrect string value: '\xF0......
- 如何先执行input (checkbox,radio)再执行函数
- 解决WP表前缀更换后出现的You do not have sufficient permission
- HDU 2037 今年暑假不AC (贪心)
- 解救开发者!鲲鹏、ModelArts、Atlas、5G MEC硬核来袭……
- 不会JS中的OOP,你也太菜了吧!(第二篇)
- JAVAFX-1 开发应用
- Ubuntu16.04桌面版pxe启动实现自动安装
- 量化研究丨多空本来就不一样,醒醒吧
- vue项目中使用高德地图实现添加点标记和获取点击位置信息
- 同步多个 git 远程仓库
- Mysql之三少一多原则
- Python学习笔记_获取猫耳广播剧
- office邮箱不能预览附件问题
- USB总线转串口芯片:沁恒CH340
- 英国全能数学家John Conway因新冠去世,他曾发明风靡一个时代的电脑游戏,还能心算万年历...
- LeetCode 46.全排列
- virtualBox虚拟机NAT上网方式并实现主机虚拟机双向通信教程