Git漂亮的格式颜色

jam*_*man 75 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
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,greenblue,括号是可选的.

所以试一试:

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,则应该能够指定两种颜色 - 前景背景,并且可以将其与属性组合.

  • 空格分开前景,背景和属性如此%C(红绿色粗体) (14认同)

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").我们不打算标记这样的结构,而是让终端对其进行排序.

  • 你知道如何在git别名中包含RGB颜色吗?`#ff69b4`在命令行上工作但不在别名中,因为`#`开始注释 (2认同)

小智 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)

  • 问题是询问如何找出git漂亮的格式颜色. (7认同)

ElM*_*dor 5

这是我在理解使用自定义十六进制颜色值的语法后编写的两个别名,如@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)

我使用这个网站来挑选我想要的确切颜色,然后从中复制十六进制值:

https://www.colorhexa.com/

对于 Windows,打开位于“C:\Users\YourUserName”文件夹中的 .gitconfig 文件并添加如上所示的别名部分。

希望你喜欢他们。