如何重现 git log --oneline --decorate 的格式?

aug*_*tin 4 git git-log

git log --oneline --decorate 的格式在哪里定义的?

使用 git Iog --format=format:'my format',我无法重现 git log --oneline --decorate 所示的分支、标签和 HEAD 的颜色。

 git log --oneline --decorate    
Run Code Online (Sandbox Code Playgroud)

浅蓝色显示 HEAD,绿色显示分支名称,棕色显示标点符号 (,,)。

我最接近得到我想要的东西是:

git log --graph --abbrev-commit --decorate --date=short --format=format:'%C(bold blue)%h%C(reset) %C(bold green)%ad%C(reset)%d %C(white)%s%C(reset)' -20  
Run Code Online (Sandbox Code Playgroud)

唯一的区别是分支/HEAD/标签的颜色与上一个命令不同。

aug*_*tin 6

git 版本 < 1.8.3 似乎不可能。

从 git 1.8.3 开始,可以使用颜色 %C(auto) 标记:

   git log --graph --decorate --date=short --format='%C(bold blue)%h%C %C(bold green)%ad %C(auto)%d  %C(white)%s%C(reset)' -10   
Run Code Online (Sandbox Code Playgroud)

关键要素是:

%C(auto)%d ...  %C(reset) 
Run Code Online (Sandbox Code Playgroud)

也可以看看:

git-log 中的
颜色 Git 漂亮的格式颜色