【发布时间】:2012-09-18 12:47:04
【问题描述】:
这不是Find out which remote branch a local branch is tracking,如果我有多个遥控器,我可能在所有遥控器中都有“主人”。 git branch 返回 master 但我不知道我所在的 master 分支是在 remoteFoo 还是 remoteBar。例如,我可能会这样做:
git clone someRepo.git
cd someRepo
git remote add anotherRemote otherremoteURL
然后git remote 显示
someRepo
anotherRemote
我可以做到git checkout -b master someRepo/master 或git checkout -b master anotherRemote/master 和git 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 输出中没有“*”。
【问题讨论】:
-
它与引用的问题究竟有何不同? This answer 似乎提供了有关本地分支机构跟踪的远程分支机构的详细信息;如果你这样做
git checkout someRepo/master,git 会明确告诉你你处于分离的 HEAD 状态,git branch会说(no branch),而不是你想象的master。 -
也许我错过了,但在那个问题中我没有看到任何命令显示当前分支的远程,只有分支名称。
-
git branch为您提供当前分支的名称,git remote show origin告诉您哪个本地分支跟踪哪个远程。可能不会有一个特定的命令以您想要的特定方式处理您的特定情况。
标签: git