我尝试过gitbranch-r,但它只列出了我在本地跟踪的远程分支。我如何找到我没有的列表?(该命令是否列出所有远程分支或仅列出未跟踪的分支对我来说无关紧要。)


当前回答

Git分支-远程分支

git ls-remote

Git文档。

其他回答

使用该命令,

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。

假设您在远程存储库上有以下分支:gitbranch-a为您提供:

*remotes/origin/release/1.5.0
 remotes/origin/release/1.5.1
 remotes/origin/release/1.5.2
 remotes/origin/release/1.5.3
 remotes/origin/release/1.6.0

根据上面的结果,命令gitbranch-rl'*/origin/release/1.5*'给出如下:

 origin/release/1.5.1
 origin/release/1.5.2
 origin/release/1.5.3

-r代表远程

-l使用<pattern>列出

remoteshow显示远程上的所有分支,包括那些本地未跟踪的分支,甚至那些尚未提取的分支。

git remote show <remote-name>

它还尝试显示分支相对于本地存储库的状态:

> git remote show origin
* remote origin
  Fetch URL: C:/git/.\remote_repo.git
  Push  URL: C:/git/.\remote_repo.git
  HEAD branch: master
  Remote branches:
    branch_that_is_not_even_fetched new (next fetch will store in remotes/origin)
    branch_that_is_not_tracked      tracked
    branch_that_is_tracked          tracked
    master                          tracked
  Local branches configured for 'git pull':
    branch_that_is_tracked merges with remote branch_that_is_tracked
    master                 merges with remote master
  Local refs configured for 'git push':
    branch_that_is_tracked pushes to branch_that_is_tracked (fast-forwardable)
    master                 pushes to master                 (up to date)

我会使用:

git branch -av

该命令不仅显示所有分支的列表,包括以/remote开头的远程分支,而且还提供有关更新内容和上次提交注释的*反馈。

TL;TR;

这是您问题的解决方案:

git remote update --prune    # To update all remotes
git branch -r                # To display remote branches

or:

git remote update --prune    # To update all remotes
git branch <TAB>             # To display all branches