使用--track(或保留默认值或--notrack)创建分支后,您希望提醒您分支正在跟踪的内容。除了搜索.git / config文件之外,还有一种方法可以显示分支正在跟踪的内容吗?
答案 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 -vv
(slebetman’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 -u
(Make an existing Git branch track a remote branch?)