[英]git - is there a reference to upstream branch?
自从我开始使用功能分支以来,我可以要求差异:
git diff upstream-branch...
但它要求我知道上游分支是什么。 是否有上游分支的参考,无论它可能是我事先不知道或不得不挖掘它吗? 比如,我不知道:
git diff UPSTREAM...
作为一个班轮: git diff @{u}...
分支的上游由两部分组成,两者都可以通过git config
设置和检索。 远程部分很简单,因为给定一个名为B
的分支,它就是branch. B .remote
branch. B .remote
。 如果你使用git config
,后半部分会更难。 1幸运的是,由于 Git 版本 1.8 左右, @{upstream}
后缀适用于所有解析分支名称的东西:
foo@{upstream}
是分支foo
的上游。 @{u}
是@{upstream}
的简写,独立的意思是HEAD@{upstream}
。
要获取上游的符号名称,如果这是您需要的,请使用git rev-parse --symbolic-full-name
或git rev-parse --abbrev-ref
。 请注意,如果当前或给定分支没有设置上游,您将从git rev-parse
收到错误。
1是branch. B .merge
branch. B .merge
,但这必须通过给定远程的fetch =
映射运行才能找到正确的远程跟踪名称。 也就是说,假设分支br
具有branch.br.remote = r
和branch.br.merge = xyz
。 然后,您必须通过remote.r.fetch
规则运行refs/heads/xyz
以得出与远程r
上的xyz
对应的远程跟踪名称。 没有命令行命令可以为您执行此操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.