【发布时间】:2011-04-07 14:21:48
【问题描述】:
在使用--track(或保留默认值,或--notrack)创建分支后,您稍后希望被提醒分支正在跟踪什么。除了搜索 .git/config 文件之外,还有其他方法可以显示分支正在跟踪的内容吗?
【问题讨论】:
标签: git branch git-branch
在使用--track(或保留默认值,或--notrack)创建分支后,您稍后希望被提醒分支正在跟踪什么。除了搜索 .git/config 文件之外,还有其他方法可以显示分支正在跟踪的内容吗?
【问题讨论】:
标签: git branch git-branch
使用:git branch -vv 查看哪些分支被跟踪,哪些没有。
【讨论】:
如果你想知道给定的分支,你可以这样做:
git config --get branch.<branch>.remote
如果它打印一个遥控器,它就在跟踪某些东西。如果它什么都不打印并返回失败,则不是。
【讨论】:
git branch -vv 相比)没有多余的输出(即它是机器可解析的)。它有时会很有用。
branch.fees.merge
注意git1.8.3 (April 22d, 2013),你有一种新的方式来强调上游分支:
“
git branch -vv”学会了用不同的颜色(color.branch.upstream,默认为蓝色)绘制与其集成的分支的名称。。 p>
C:\prog\git\git>git branch -vv
* master 118f60e [origin/master] Sync with maint
^^^^^^^^^^^^^
|
--- now in blue
【讨论】:
git config color.ui always:gist.github.com/VonC/972690#file-gitconfig-L25
git branch -vv 在报价框中
如果您需要以自动方式访问此信息,您需要避免尝试解析 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
【讨论】:
感谢Jefromi的提示
使用以下命令可以获取特定分支的远程跟踪分支。
git config --get branch.<branch>.merge
要更改远程跟踪分支,您只需更改此配置值即可。
注意:这是git branch -vv 的替代方法(已在此处回答)
和git branch -u (Make an existing Git branch track a remote branch?)
【讨论】: