如何获取 Git 中分支的远程跟踪分支?
How do I get the remote tracking branch for a branch in Git?
例如,假设 master
正在跟踪 origin/master
。我怎样才能让 Git 告诉我 master
正在以对程序有用的方式跟踪 origin/master
?
<fill-in-the-blank> master
最简单的方法是:
git branch -vv
哪个returns输出像
* master 5a24820 [origin/master] commitmsg
如果您是 运行 shell 脚本并且您只需要远程分支:
git branch -vv | grep -oP '\[.+\]'
您也可以使用以下命令:
git remote show origin
显示远程源存储库的信息。
例如:
Remote branch:
master tracked Local branch configured for 'git pull':
master merges with remote master
master merges with remote master
告诉您 origin\master
正在被您的主分支跟踪。虽然它不是很优雅。
由于您是在脚本中执行此操作,因此最好的方法是调用配置
git config --get branch.${BRANCH}.remote
git config --get branch.${BRANCH}.merge
如果您只对当前签出的分支感兴趣,那么 git 提供特殊引用 @{u}
来引用当前的上游。使用前请使用rev-parse
确认有效
如果您只是在终端输入,那么 git branch -vv
是正确的选择
例如,假设 master
正在跟踪 origin/master
。我怎样才能让 Git 告诉我 master
正在以对程序有用的方式跟踪 origin/master
?
<fill-in-the-blank> master
最简单的方法是:
git branch -vv
哪个returns输出像
* master 5a24820 [origin/master] commitmsg
如果您是 运行 shell 脚本并且您只需要远程分支:
git branch -vv | grep -oP '\[.+\]'
您也可以使用以下命令:
git remote show origin
显示远程源存储库的信息。
例如:
Remote branch:
master tracked Local branch configured for 'git pull':
master merges with remote master
master merges with remote master
告诉您 origin\master
正在被您的主分支跟踪。虽然它不是很优雅。
由于您是在脚本中执行此操作,因此最好的方法是调用配置
git config --get branch.${BRANCH}.remote
git config --get branch.${BRANCH}.merge
如果您只对当前签出的分支感兴趣,那么 git 提供特殊引用 @{u}
来引用当前的上游。使用前请使用rev-parse
确认有效
如果您只是在终端输入,那么 git branch -vv
是正确的选择