使用自定义 git 日志格式时,如何为当前、本地和远程引用名称实现单独的颜色?

Ben*_*err 19 git colors

我有一个我使用的自定义 git 日志格式。我已经color.ui=true在我的.gitconfig. 例如这个简单的格式:

git log --pretty=format:"%h %d %s" --decorate
Run Code Online (Sandbox Code Playgroud)

这会打印出类似的东西

52a41e0 (HEAD, local) Commit message foo
185bd17 (remote) The commit message
Run Code Online (Sandbox Code Playgroud)

HEAD、local、remote 将无颜色输出,而git log --oneline --decorateHEAD(以“粗体青色”表示)、本地(以“粗体绿色”表示)和远程(以“粗体红色”表示)将输出颜色。现在我可以%d用类似的东西包裹它,%Cred%d%Creset这会导致所有的引用名称都是红色的。

在 git log 中使用自定义格式时,如何使当前、本地和远程引用名称具有不同的颜色?

Cas*_*par 15

根据这篇 Atlassian 博客文章,您现在可以使用%C(auto)git 1.8.3 了;

git log --format=format:'%h%C(auto)%d%C(reset) %s (%an, %ar)'
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

— 同样,由VonC 提供的“git-log 中的颜色”,为了方便入站 google 员工而在此处重新发布。


Tam*_*man 5

默认情况下将git log --decorate放置:

  • 青色的头部
  • 红色的远程分支
  • 绿色标签

并且可以通过 color.decorateconfig进行更改。

但是,它们没有提供专门显示遥控器git log --format分支的方法:所有三个都通过 来显示,并且可以使用一种颜色。HEAD %d

VonC 谈“git-log 中的颜色”