自从我开始使用功能分支以来,我可以要求差异:
git diff upstream-branch...
但它要求我知道上游分支是什么。是否有上游分支的参考,无论它可能是我事先不知道或不得不挖掘它吗?比如,我不知道:
git diff UPSTREAM...
自从我开始使用功能分支以来,我可以要求差异:
git diff upstream-branch...
但它要求我知道上游分支是什么。是否有上游分支的参考,无论它可能是我事先不知道或不得不挖掘它吗?比如,我不知道:
git diff UPSTREAM...
作为一个班轮:git diff @{u}...
分支的上游由两部分组成,两者都可以用 设置和检索git config
。远程部分很简单,因为给定一个名为 的分支,B
它是. 如果你使用,后半部分会更难。1 幸运的是,自从 Git 版本 1.8 左右以来,该后缀适用于所有解析分支名称的事物:branch.B.remote
git config
@{upstream}
foo@{upstream}
是分支的上游foo
。 @{u}
是 的简写@{upstream}
,独立的意思是HEAD@{upstream}
。
要获取上游的符号名称,如果这是您需要的,请使用git rev-parse --symbolic-full-name
or git rev-parse --abbrev-ref
。请注意,如果没有为当前或给定分支设置上游,您将收到来自git rev-parse
.
1它是,但这必须通过给定遥控器的映射来找到正确的远程跟踪名称。也就是说,假设分支有和。然后,您必须运行规则以找到对应于远程的远程跟踪名称 remote 。没有命令行命令可以为您执行此操作。branch.B.merge
fetch =
br
branch.br.remote = r
branch.br.merge = xyz
refs/heads/xyz
remote.r.fetch
xyz
r