找出本地分支正在跟踪哪个远程

时间:2012-09-26 19:57:20

标签: git

这是不是 Find out which remote branch a local branch is tracking,如果我有多个遥控器,我可能在所有这些中都有“主人”。 git branch返回master,但我不知道我所在的主分支是在remoteFoo还是remoteBar中。例如,我可能会这样做:

git clone someRepo.git
cd someRepo
git remote add anotherRemote otherremoteURL

然后git remote显示

someRepo
anotherRemote

我可以git checkout -b master someRepo/mastergit checkout -b master anotherRemote/mastergit branch在两种情况下都会说“主人”。我如何找回第一部分,“someRepo”或“anotherRemote”?

您认为我可以使用git remote show,但它需要一个参数,即您想要信息的遥控器的名称。

$ git remote show origin
fatal: 'origin' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
$ git remote show
someRepo
anotherRemote

使用git branch我可以看到当前的内容:

$ git branch
  hold
* master
  old-stuff
  refactor

git remote输出中没有“*”。

3 个答案:

答案 0 :(得分:8)

您可能需要尝试以下方法来详细查看信息。

git remote -v
git remote -v show origin

以下示例输出:

dmasi@:/var/www/pirate_booty$ git remote -v
origin  git@bitbucket.org:dmasi/pirate_booty_calculator.git (fetch)
origin  git@bitbucket.org:dmasi/pirate_booty_calculator.git (push)

dmasi@:/var/www/pirate_booty$ git remote -v show origin
* remote origin
  Fetch URL: git@bitbucket.org:dmasi/pirate_booty_calculator.git
  Push  URL: git@bitbucket.org:dmasi/pirate_booty_calculator.git
  HEAD branch: master
  Remote branch:
    master tracked
  Local branch configured for 'git pull':
    master merges with remote master
  Local ref configured for 'git push':
    master pushes to master (up to date)

答案 1 :(得分:3)

git status -sb似乎很容易理解和记住。

-s代表以短格式提供输出。

b 显示分支和跟踪信息。

参考:https://git-scm.com/docs/git-status#git-status--s

答案 2 :(得分:1)

在类似问题here中回答:要通过当前分支跟踪远程分支,

git rev-parse --symbolic-full-name --abbrev-ref @{u}