繁体   English   中英

git - 是否有上游分支的参考?

[英]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-namegit rev-parse --abbrev-ref 请注意,如果当前或给定分支没有设置上游,您将从git rev-parse收到错误。


1branch. B .merge branch. B .merge ,但这必须通过给定远程的fetch =映射运行才能找到正确的远程跟踪名称。 也就是说,假设分支br具有branch.br.remote = rbranch.br.merge = xyz 然后,您必须通过remote.r.fetch规则运行refs/heads/xyz以得出与远程r上的xyz对应的远程跟踪名称。 没有命令行命令可以为您执行此操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM