我正在尝试为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
Run Code Online (Sandbox Code Playgroud)
此外,所有颜色都不适用于带括号的颜色格式.
有没有办法列出Git可用的漂亮格式颜色?
不幸的是,这是在传统的SCO OpenServer 5.0.7机器上,SCO Skunkworks发布的最后一个版本的Git是1.6.0.3.
Tux*_*ude 128
我没有老版本的git验证以外的颜色red,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"
Run Code Online (Sandbox Code Playgroud)
我至少知道的颜色列表是:
normal
black
red
green
yellow
blue
magenta
cyan
white
Run Code Online (Sandbox Code Playgroud)
它可以与以下属性之一结合使用:
bold
dim
ul
blink
reverse
Run Code Online (Sandbox Code Playgroud)
如果您尝试使用更改颜色.gitconfig,则应该能够指定两种颜色 - 前景和背景,并且可以将其与属性组合.
Von*_*onC 33
Git 2.3.0(2015年2月)将允许(感谢Jeff Kink(peff)):
parse_color:支持24位RGB值某些终端(如XTerm)使用常规ANSI颜色方案的扩展允许完整的24位RGB颜色规范.
让我们允许用户指定十六进制RGB颜色,启用粉红色参考装饰的所有重要功能:
git log --format="%h%C(#ff69b4)%d%C(reset) %s"
Run Code Online (Sandbox Code Playgroud)
parse_color:识别"no$foo"以清除$foo属性您可以通过在颜色规范中添加"反向"来打开ANSI文本属性,如"反向".但是,你不能要求关闭反向.
对于常见情况,这无关紧要.您可以在彩色部分的开头打开"反向",然后使用"重置"清除所有属性.
但是,您可能希望打开某些属性,然后有选择地禁用其他属性.例如:
git log --format="%C(bold ul yellow)%h%C(noul) %s"
Run Code Online (Sandbox Code Playgroud)
仅强调哈希值,但无需重新指定其余属性.
这也可以帮助第三方程序,例如
contrib/diff-highlight,想要在不中断现有着色的情况下打开/关闭某些属性.请注意,某些属性规范可能是无意义的(例如,"
bold nobold").我们不打算标记这样的结构,而是让终端对其进行排序.
小智 5
分享我的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
Run Code Online (Sandbox Code Playgroud)
您还可以在〜/ .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
Run Code Online (Sandbox Code Playgroud)
那么您可以在定义时使用别名~/.gitconfig.
$ git logs
Run Code Online (Sandbox Code Playgroud)
这是我在理解使用自定义十六进制颜色值的语法后编写的两个别名,如@VonC 的回答所示。
有四个版本,唯一的区别是 --graph 指令,'f' 版本还会显示添加、删除或修改的文件:
[alias]
lg = log --graph --pretty=format:"%C(#cd9a00)%h\\%C(#0080ff)\\ <%an>\\ %C(#17b062)(%cr)\\ %d\\%C(#c0d6de)%s"
l1 = log --pretty=format:"%C(#cd9a00)%h\\%C(#0080ff)\\ <%an>\\ %C(#17b062)(%cr)\\ %d\\%C(#c0d6de)%s"
lgf = log --name-status --graph --pretty=format:"%C(#cd9a00)%h\\%C(#0080ff)\\ <%an>\\ %C(#17b062)(%cr)\\ %d\\%C(#c0d6de)%s"
l1f = log --name-status --pretty=format:"%C(#cd9a00)%h\\%C(#0080ff)\\ <%an>\\ %C(#17b062)(%cr)\\ %d\\%C(#c0d6de)%s"
Run Code Online (Sandbox Code Playgroud)
我使用这个网站来挑选我想要的确切颜色,然后从中复制十六进制值:
对于 Windows,打开位于“C:\Users\YourUserName”文件夹中的 .gitconfig 文件并添加如上所示的别名部分。
希望你喜欢他们。