我有一个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
分支上,这就可以正常工作。我想要的是一个变量,我可以放在master
现在的命令中,以便git ahead
别名对该分支运行。类似于zsh $(git_prompt_info)变量,但可以在gitconfig文件中用作别名定义的一部分。
答案 0 :(得分:3)
您正在寻找@{u}
:
< refname> @ {upstream},例如master @ {upstream},@ {u}
ref的后缀@ {upstream}(简短形式< refname> @ {u})指的是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
这将显示遥控器中本地丢失的提交以及遥控器中缺少的本地命令。