将当前git分支名称替换为git log命令

时间:2013-01-25 04:19:28

标签: git

我有一个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文件中用作别名定义的一部分。

1 个答案:

答案 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

这将显示遥控器中本地丢失的提交以及遥控器中缺少的本地命令。