从本地分支获取远程名称

时间:2017-04-15 21:04:20

标签: git bash

如何从本地分支获取远程名称?

请注意,我不想要远程跟踪分支名称,只需要远程名称。

考虑这个人为的例子。我如何获得prefix/github

$ git status -b
## dev...prefix/github/rm/dev

$ git remote
github
prefix
prefix/github

所以prefix/github是远程和本地分支dev正在跟踪远程分支rm/dev

到目前为止,我知道这种方式,但它并不完全。

$ git rev-parse --abbrev-ref @{u} 2>/dev/null | cut -d'/' -f1
prefix

prefix/github远程名称是故意的。我可以忍受保持我的遥控器没有正斜线(在这种情况下上面会工作),但想知道我是否遗漏了什么。

fyi:我有一个bash脚本,最终会使用它。

更新

请参阅此评论,了解为什么这个问题不是骗局: Get remote name from local branch

2 个答案:

答案 0 :(得分:1)

这很有效。

git config --get branch.dev.remote

本地git配置文件(.git/config)应该包含以下branch部分:

[branch "dev"]
    remote = prefix/github
    merge = refs/heads/dev

我真的很惊讶这是人为的。

答案 1 :(得分:0)

在为分支设置跟踪后,您要查找的信息将存储在.git/config文件中。您应该可以轻松地从那里提取它(例如,grep -B ... | grep ... - 请在查看该文件后自己填写点。)

请注意,可能存在没有远程跟踪信息的分支。