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

时间:2010-09-02 22:17:35

标签: git branch git-branch

使用--track(或保留默认值或--notrack)创建分支后,您希望提醒您分支正在跟踪的内容。除了搜索.git / config文件之外,还有一种方法可以显示分支正在跟踪的内容吗?

5 个答案:

答案 0 :(得分:26)

使用:git branch -vv查看哪些分支被跟踪,哪些分支未被跟踪。

答案 1 :(得分:6)

如果您想知道某个分支,您可以这样做:

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

如果它打印一个遥控器,它会跟踪一些东西。如果它没有打印并返回失败,那就不是。

答案 2 :(得分:6)

请注意,使用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

答案 3 :(得分:1)

如果您需要以自动方式访问此信息,则需要避免尝试解析branch -vvslebetman’s answer)的输出。

Git提供了一组具有稳定接口和输出格式的低级命令。这些命令(称为“管道”)是用于“脚本”目的的首选接口。 git for-each-ref 命令可以通过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

答案 4 :(得分:-1)

感谢提示Jefromi

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

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

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

注意:这是git branch -vv的另一种方法(已在此处回答)
git branch -uMake an existing Git branch track a remote branch?