自从我开始使用功能分支以来,我可以要求差异:
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.remotegit config@{upstream}
foo@{upstream}
是分支的上游foo。 @{u}是 的简写@{upstream},独立的意思是HEAD@{upstream}。
要获取上游的符号名称,如果这是您需要的,请使用git rev-parse --symbolic-full-nameor git rev-parse --abbrev-ref。请注意,如果没有为当前或给定分支设置上游,您将收到来自git rev-parse.
1它是,但这必须通过给定遥控器的映射来找到正确的远程跟踪名称。也就是说,假设分支有和。然后,您必须运行规则以找到对应于远程的远程跟踪名称 remote 。没有命令行命令可以为您执行此操作。branch.B.mergefetch =brbranch.br.remote = rbranch.br.merge = xyzrefs/heads/xyzremote.r.fetchxyzr