例如,假设
master
正在追踪origin/master
。我该如何让Git告诉我master
正在以对编程有用的方式追踪origin/master
?<fill-in-the-blank> master
master
正在追踪origin/master
。我该如何让Git告诉我master
正在以对编程有用的方式追踪origin/master
?<fill-in-the-blank> master
如果您正在编写脚本,最好的方法是调用配置文件。
git config --get branch.${BRANCH}.remote
git config --get branch.${BRANCH}.merge
如果您只对当前检出的分支感兴趣,那么git提供了特殊引用@{u}
来引用当前上游。在使用之前,请使用rev-parse
确保其有效。
如果您只是在终端输入,则可以使用git branch -vv
ref/heads/blah
转换为blah
? - Schwern最简单的方法是:
git branch -vv
返回一个类似于输出的结果
* master 5a24820 [origin/master] commitmsg
如果你正在运行shell脚本,而你只想要远程分支:
git branch -vv | grep -oP '\[.+\]'
git remote show origin
它会显示你的远程 origin 仓库的信息。
e.g:
Remote branch:
master tracked Local branch configured for 'git pull':
master merges with remote master
当 主分支与远程主分支合并
时,说明你的主分支正在跟踪 origin\master
。虽然不太优雅,但这是事实。
git branch
是不被鼓励的。请参阅http://git-blame.blogspot.com/2013/06/checking-current-branch-programatically.html。 - Andrew C
@{u}
。感谢@AndrewC! - Schwern