代码之家  ›  专栏  ›  技术社区  ›  Vincent Scheib

Git中的这个分支跟踪(如果有的话)是什么?

  •  19
  • Vincent Scheib  · 技术社区  · 14 年前

    在使用--track(或保留默认值,或--notrack)创建分支之后,您稍后希望被提醒分支正在跟踪什么。除了搜索.git/config文件之外,是否有其他方法显示分支跟踪的内容?

    5 回复  |  直到 8 年前
        1
  •  26
  •   slebetman    14 年前

    用途: git branch -vv 查看跟踪哪些分支,哪些不跟踪。

        2
  •  6
  •   Cascabel    14 年前

    如果你想知道一个给定的分支,你可以:

    git config --get branch.<branch>.remote
    

    如果它打印一个遥控器,它会跟踪一些东西。如果它什么也不打印,返回失败,那就不是了。

        3
  •  6
  •   VonC    8 年前

    请注意 git1.8.3 (April 22d, 2013) ,您有一种新的方法来强调上游分支:

    git branch --vv “学会了用不同的颜色绘制与之集成的分支的名称( color.branch.upstream ,默认为蓝色 )

    C:\prog\git\git>git branch -vv
    * master 118f60e [origin/master] Sync with maint
                      ^^^^^^^^^^^^^
                           |
                           --- now in blue
    
        4
  •  1
  •   Community CDub    8 年前

    如果需要以自动方式访问此信息,您将希望避免尝试解析 branch -vv ( slebetman’s answer )

    Git提供了一组具有稳定接口和输出格式的低级命令。这些命令(称为__Plumbing_)是用于__scripting_trade的首选接口。这个 每个参考的Git 命令可以通过 upstream 令牌(在Git 1.6.3及更高版本中提供):

    % git for-each-ref --shell --format='
    
    b=%(refname:short) u=%(upstream:short)
    # Make a fancy report or do something scripty with the values.
    if test -n "$u"; then
      printf "%s merges from %s\n" "$b" "$u" 
    else
      printf "%s does not merge from anything\n" "$b" 
    fi
    
    ' refs/heads/ | sh
    master merges from origin/master
    other does not merge from anything
    pu merges from origin/pu
    
        5
  •  -1
  •   Community CDub    8 年前

    谢谢你的提示 Jefromi

    通过以下命令,您可以获取特定分支的远程跟踪分支。

    git config --get branch.<branch>.merge
    

    要更改远程跟踪分支,只需更改此配置值。

    注意:这是 git branch -vv (已在此处回答)
    git branch -u ( Make an existing Git branch track a remote branch? )