0

我有一个 git log 命令,它允许我查看尚未推送到远程存储库的本地提交。它看起来像这样:

ahead = log origin/master..HEAD --graph --pretty=format:'%Cred%h%Creset %d %s %Cgreen(%cr)%Creset %Cblue[%an]%Creset' --abbrev-commit --date=relative

只要您在master分支上,它就可以正常工作。我想要的是一个变量,我可以将它放在命令 where masteris now 中,以便git ahead别名将针对该分支运行。类似于 zsh $(git_prompt_info) 变量,但可以在 gitconfig 文件中用作别名定义的一部分。

4

1 回答 1

4

您正在寻找@{u}

<refname>@{upstream},例如 master@{upstream},@{u}

ref 的后缀 @{upstream}(短格式 <refname>@{u})指的是 ref 设置为在其上构建的分支。缺少的 ref 默认为当前分支。

所以你的别名应该是这样的:

ahead = log @{u}..HEAD --graph --pretty=format:'%Cred%h%Creset %d %s %Cgreen(%cr)%Creset %Cblue[%an]%Creset' --abbrev-commit --date=relative

但我建议将其更改为:

ahead = log @{u}...HEAD --graph --decorate --left-right --boundary --pretty=format:'%Cred%h%Creset %d %s %Cgreen(%cr)%Creset %Cblue[%an]%Creset' --abbrev-commit --date=relative

这将显示远程中缺少的本地提交以及远程中缺少的本地提交。

于 2013-01-25T04:31:58.763 回答