Git漂亮的格式颜色
我正在尝试为Git设置漂亮的格式颜色。 从我可以告诉的版本1.6.0只认识红色,绿色和蓝色。
$ git log --pretty=format:"%Credred%Creset %Cgreengreen%Creset %Cyellowyellow%Creset %Cblueblue%Creset %Cmagentamagenta%Creset %Ccyancyan%Creset %Cwhitewhite%Creset" red green %Cyellowyellow%Creset blue %Cmagentamagenta %Ccyancyan %Cwhitewhite
此外,没有任何颜色与加括号的颜色格式一起使用。
有没有办法列出Git的可用漂亮格式的颜色?
不幸的是,这是在传统的SCO OpenServer 5.0.7机器上,而由SCO Skunkworks发布的Git的最后一个版本是1.6.0.3。
我没有一个老版本的git
来validationred
, blue
和green
以外的颜色是否受支持。
虽然我注意到,即使是最近版本的git
(比如1.7.10),我也注意到, red
, green
和blue
之外的其他颜色需要在括号内()
。 对于red
, green
和blue
,括号是可选的。
所以试试这个:
git log --pretty=format:"%Credred%Creset %Cgreengreen%Creset %C(Yellow)yellow%Creset %Cblueblue%Creset %C(magenta)magenta%Creset %C(cyan)cyan%Creset %C(white)white%Creset"
我知道的颜色列表至less是:
normal black red green yellow blue magenta cyan white
它可以结合以下属性之一:
bold dim ul blink reverse
如果你正在尝试使用.gitconfig
来改变颜色,你应该能够指定两种颜色 – 前景和背景,并且你可以把它和一个属性结合起来。
Git 2.3.0(2015年2月)将允许(感谢Jeff Kink( peff
) ):
- 24位RGB颜色值( 提交17a4be2 )
parse_color
:支持24位RGB值某些terminal(如XTerm)允许使用常规ANSI颜色scheme的扩展来实现完整的24位RGB颜色规范。
让我们允许用户指定hexRGB颜色, 启用粉红色ref的装饰的所有重要function :
git log --format="%h%C(#ff69b4)%d%C(reset) %s"
- 更好地pipe理颜色属性:
parse_color
:识别“no$foo
”来清除$foo
属性您可以通过在您的颜色规范中join“reverse”来打开ANSI文本属性,如“反向”。 但是,你不能要求closures。
对于一般情况,这并不重要。 您可以在彩色部分的开始处打开“反向”,然后使用“重置”清除所有属性。
但是,您可能希望打开一些属性,然后select性地禁用其他属性。 例如:
git log --format="%C(bold ul yellow)%h%C(noul) %s"
强调只是散列,但不需要重新指定其余的属性。
这也可以帮助第三方程序,如
contrib/diff-highlight
,想打开/closures某些属性而不中断已有的着色。请注意,某些属性规范可能是无意义的(例如,“
bold nobold
”)。 我们不打算标记这样的结构,而是让terminal把它整理出来。
分享我的git日志格式:
$ git log --graph --pretty=format:'%C(magenta)%h%Creset -%C(red)%d%Creset %s %C(dim green)(%cr) %C(cyan)<%an>%Creset' --abbrev-commit
你也可以在〜/ .gitconfig中添加一个别名:
[alias] logs = log --graph --pretty=format:'%C(magenta)%h%Creset -%C(red)%d%Creset %s %C(dim green)(%cr) %C(cyan)<%an>%Creset' --abbrev-commit
那么你可以使用~/.gitconfig
定义的别名。
$ git logs