我有一个自定义的 git log 格式。我已color.ui=true
在我的 中设置.gitconfig
。例如,这种简单的格式:
git log --pretty=format:"%h %d %s" --decorate
这将打印类似
52a41e0 (HEAD, local) Commit message foo
185bd17 (remote) The commit message
HEAD、local、remote 将以无色输出,相比之下,git log --oneline --decorate
which 将以彩色输出 HEAD(以“粗体青色”)、local(以“粗体绿色”)和 remote(以“粗体红色”) 。现在我可以用%d
类似%Cred%d%Creset
which 的内容包装它,这将导致全部ref 名称为红色。
当使用 git log 的自定义格式时,如何使当前、本地和远程引用名称具有不同的颜色?
答案1
%C(auto)
从 git 1.8.3 开始,你可以使用根据 Atlassian 博客文章;
git log --format=format:'%h%C(auto)%d%C(reset) %s (%an, %ar)'
给出
— 再次感谢VonC 谈“git-log 中的颜色”,为了方便入站谷歌搜索者,在此重新发布。
答案2
默认情况下将
git log --decorate
放置:
- 青色的头部
- 远程分支为红色
- 绿色标签
并可以通过
color.decorate
配置。但
git log --format
没有提供专门显示HEAD
或者遥控器或者分支:所有三个分支都通过 显示%d
,并且可能只有一种颜色。