我尝试过gitbranch-r,但它只列出了我在本地跟踪的远程分支。我如何找到我没有的列表?(该命令是否列出所有远程分支或仅列出未跟踪的分支对我来说无关紧要。)
当前回答
确保列出的远程源确实是所需的存储库,而不是较旧的克隆。
其他回答
如果有一个您知道应该列出的远程分支,但它没有列出,您可能需要验证您的源是否正确设置,如下所示:
git remote show origin
如果这一切都很好,也许你应该运行更新:
git remote update
假设运行成功,您应该能够按照其他答案所述进行操作:
git branch -r
您还可以执行git fetch,后跟git branch-r。没有fetch,您将看不到最新的分支。
对于这里的绝大多数访问者来说,“我如何在Git 1.7+中列出所有远程分支?”这个问题的正确和最简单的答案是:
git branch -r
对于少数[1]git分支-r不起作用。如果gitbranch-r不起作用,请尝试:
git ls-remote --heads <remote-name>
如果git branch-r不起作用,那么可能正如Cascabel所说的“您修改了默认的refspec,这样git fetch和git remote update就不会获取所有远程的分支”。
[1] 在撰写本脚注2018年2月时,我查看了评论,发现git branch-r适用于绝大多数人(约90%或140人中的125人)。
如果gitbranch-r不起作用,请检查git-config-get-remote.origin.fetch是否包含通配符(*)
我会使用:
git branch -av
该命令不仅显示所有分支的列表,包括以/remote开头的远程分支,而且还提供有关更新内容和上次提交注释的*反馈。
为了得到我想要的东西,我最后做了一个乱七八糟的外壳管道。我刚刚合并了源远程的分支:
git branch -r --all --merged \
| tail -n +2 \
| grep -P '^ remotes/origin/(?!HEAD)' \
| perl -p -e 's/^ remotes\/origin\///g;s/master\n//g'
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的git添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- 在GitHub上有一个公共回购的私人分支?
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 在Bash命令提示符上添加git分支
- 如何更改Git日志日期格式