git log --decorate 将默认放置:
并且可以通过color.decorate配置进行更改。
但是git log --format 不提供专门显示HEAD or 远程or 分支的方法:所有三个都通过%d 显示,与一种颜色。
2013 年 5 月更新,mentioned below Elad Shahar (upvoted),git 1.8.3 提供了另一种选择:
Atlassian blog post 表示此功能是其他几个专注于格式(git rebase、git count-objects)和颜色(git branch -vv)的功能的一部分
这是对前面auto,reset of 1.8.2 的补充,当输出不用于终端1 时会自动禁用颜色
%C(auto,blue)Hello%C(auto,reset)
注意:git 2.4+(2015 年第二季度)会更好地重置分支名称周围的颜色。
见commit 5ee8758Junio C Hamano (gitster):
log --decorate:不要将“提交”颜色泄漏到下一项中
在“git log --decorate”中,您会看到如下提交标头:
commit ... (HEAD, jc/decorate-leaky-separator-color)
其中“commit ... (”在color.diff.commit中绘制,“HEAD”在color.decorate.head中,“,”在color.diff.commit中,分支名称在
color.decorate.branch,然后在 color.diff.commit 中关闭“)”。
如果您想将 HEAD 和本地分支名称绘制为与正文文本相同的颜色(可能是因为青色和绿色在黑白终端上太暗而无法阅读),您不会想要说
[color "decorate"]
head = black
branch = black
因为您将无法在黑白终端上重复使用相同的配置。你会天真地期待
[color "decorate"]
head = normal
branch = normal
工作,但不幸的是它没有。
它以与装饰元素之间的左括号或逗号相同的颜色绘制字符串“HEAD”和分支名称。
这是因为代码在以自己的颜色打印“前缀”后忘记重置颜色。
请注意,git 2.5(2015 年第二季度)修复了一个错误:
参见commit 429ad20Junio C Hamano (gitster),2015 年 5 月 13 日。
(由 Junio C Hamano -- gitster -- 合并,commit fd70780,2015 年 5 月 22 日)
log: 不要过早地缩短装饰名称
Git 2.4 中的“log --decorate”增强功能显示了当前分支顶端的提交,例如“HEAD -> master”,不适用于 --decorate=full。
Git 2.9.x+(2016 年第三季度)将修复另一个错误和honor color=auto for %C(auto)
Git 2.10.2(2016 年 10 月)通过 commit 82b83da(2016 年 9 月 29 日)和 commit c99ad27(2016 年 9 月 17 日)通过 René Scharfe (``) 修复了其他错误。
(由 @987654336 合并@in commit 76796d4,2016 年 10 月 28 日)
pretty:如果输出为空,请避免为 %C(auto) 添加重置
我们发出一个转义序列来重置%C(auto) 的颜色和属性,以确保自动着色按预期显示。
如果输出 strbuf 为空,即当@ 987654379@ 出现在格式字符串的开头,因为这样就不需要重置,我们在输出中保存了几个字节。
pretty:让%C(auto)重置所有属性
在%C(auto) 上重置颜色和属性以启用全自动
控制它们; 否则像粗体或反转这样的属性可以
从以前的%C 占位符仍然有效。