我希望发现一个git命令,它可以提供有关上游远程和分支名称的信息。
如果我跑
git branch
或
git branch -v
既不告诉我这个本地分支跟踪哪个远程分支。 我正在寻找一个git命令,它可以告诉我最初由
确定的远程和远程分支名称git push -u x/y
其中x是远程名称,y是分支
这有意义吗?
(如果跟踪多个远程分支会发生什么?我猜本地分支只能跟踪一个远程分支?)
答案 0 :(得分:3)
您可能希望使用-vv
命令的git branch
开关。
这将打印本地分支机构的列表,其中包含更多信息,包括每个分支机构正在跟踪的内容以及您的本地分支机构是否位于前方,后方或两者(该命令无法与服务器联系,因此数字可能有误)
$ git branch -vv
* master 02d9483 [origin/master] sort by category
* test 56b413a just a test
* trackb d789ad2 [origin/trackb: behind 1] another test
如果跟踪多个远程分支会发生什么?我猜想本地分支只能跟踪一个遥控器吗?
我相信无法使用给定的本地分支跟踪多个远程分支。您可以通过编写自定义脚本来模拟此行为
答案 1 :(得分:3)
您可能需要使用以下git命令:
git remote show origin
这将为您提供所需的所有信息。
答案 2 :(得分:1)
如果跟踪多个远程分支会发生什么?我猜想本地分支只能跟踪一个遥控器吗?
由于可以在git中将多个遥控器添加到工作目录,我认为可以安全地说多个远程分支可以跟一个分支。
例如,请考虑本地存储库的以下配置:
git remote add origin_one [url_origin_one]
git remtoe add origin_two [url_origin_two]
然后,假设我们已在本地检出master
分支,并希望推送更改。毫不奇怪,
git push origin_one master
或
git push origin_two master
将分别在origin_one和origin_two上将更改推送到master分支。
如果您想查看已设置的跟踪分支,可以使用-vv
选项git branch
。
这将列出您的本地分支机构,其中包含更多信息,包括每个分支机构正在跟踪的内容以及您的本地分支机构是在前面,后面还是两者之间。