如何在git日志中更改标签/分支名称的颜色?

4
当我运行命令git log --graph --oneline --all --decorate时,我看到分支和标记名称以不同颜色显示(我认为是因为我将color.ui设置为auto)。我很喜欢这个功能,但其中几种颜色非常难以辨认,特别是黄色,因为我使用的是白色背景。
我想要更改这个设置,我在 Git 书籍中找到了(在此处的 color.* 下面:https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration),可以在 color.* 下更改设置以进一步自定义 Git 的颜色。然而,这四个子设置(branchdiffinteractivestatus)似乎都不会影响由 git log 用于分支和标记名称的颜色。是否可以更改这些颜色?如果可以,如何更改?
2个回答

13
在我的配置中,color.diff.commit被设置为yellow。我刚刚测试了命令。
git -c color.diff.commit=green log

并且提交的颜色一定会变成绿色。请查看我的.gitconfig和(单独包含的)colors(也在个人的git仓库中)。

更新。对于分支和标签颜色,您需要设置color.decorate.branchcolor.decorate.tag。例如(来自我的“light_bg”文件):

[color "decorate"]
    HEAD = cyan
    branch = green
    tag = blue bold

1
我在谈论日志输出的颜色。我认为你在谈论提交消息的颜色,这是不同的,尽管我不知道你命令末尾所说的“日志”是什么意思。 - Stephen
我的命令是 git log - 即您想要配置颜色的确切命令 - 带有额外的配置设置。 - phd
抱歉,我现在意识到我的问题表述非常不好,因为我没有指出我正在尝试更改分支和标签名称的颜色。我现在会修复它。 - Stephen
您需要设置 color.decorate.branchcolor.decorate.tag。请参见答案中的 更新 - phd
color.decorate.tag 正是我一直在寻找的。谢谢! - The Godfather

4

git log --graph的列颜色可以通过以下配置进行更改:

log.graphColors

git config 手册中所记录(不太好)。

默认设置红色、绿色、黄色、蓝色、洋红、青色、粗体红色、粗体绿色、粗体黄色、粗体蓝色、粗体洋红、粗体青色

装饰名字(tag: tagnameHEAD、分支名字等等)根据 color.decorate.slot 进行着色,其中 slot 是其中之一: branchremoteBranchtagstashHEAD。(这个控制设置是在 Git 1.7.2 中新添加的,所以如果你使用的是 Git 1.7.1 或更早版本,那么你就没有这个设置。)

还有许多控制开关:可以在 git config 文档中搜索单词 color


请跟随文档链接并搜索“graphColors”; 您将找到以下文本:“用逗号分隔的颜色列表,可用于在git log --graph中绘制历史线。” 因此,请列出您想要使用的颜色,用逗号分隔。(这就是我以这种方式拼写默认颜色集的原因。也许我刚刚所做的编辑使它更加突出?) - torek
2
我的命令是 git config --global log.graphColors "red,green,blue,magenta,cyan,bold red,bold green,bold blue,bold magenta,bold cyan" - Stephen
抱歉,我现在意识到我的问题表述非常不清楚,因为我没有指出我正在尝试更改分支和标签名称的颜色。我现在会进行修正。 - Stephen
谢谢,这个可行。有一件小事 - 似乎HEAD默认为一种用现有颜色无法设置的浅蓝色。你知道怎么设置吗? - Stephen
1
内置的 HEAD 默认为 bold cyan,应该与那种特定的浅蓝色相匹配。请注意,在现代 Git 中,您还可以使用数字颜色(0-255),甚至可以使用 #RRGGBB 语法(类似于 HTML;两个字符用十六进制编码了一个 256 位值)来表示 24 位红/绿/蓝三元组。 - torek
显示剩余5条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接