我正在尝试为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。
5条答案
按热度按时间yacmzcpb1#
我没有旧版本的
git
来验证是否支持red
、blue
和green
以外的颜色。不过,我注意到,即使是最近版本的
git
(比如我使用的1.7.10),除了red
、green
和blue
之外的颜色也需要放在括号()
中,而对于red
、green
和blue
,括号是可选的。所以给予这个:
我知道的颜色至少有:
它可以与以下属性之一组合使用:
如果你想用
.gitconfig
来改变颜色,你应该能够指定两种颜色--前景和背景,并且你可以把它和一个属性结合起来。2ekbmq322#
Git 2.3.0(2015年2月)将允许(感谢Jeff Kink (
peff
)):parse_color
:支持24位RGB值一些终端(如XTerm)允许使用常规ANSI颜色方案的扩展来实现全24位RGB颜色规范。
让我们允许用户指定十六进制RGB颜色,启用最重要的热粉红色参考装饰功能:
parse_color
:识别"no$foo
"以清除$foo
属性您可以通过在颜色规范中输入"reverse"来打开ANSI文本属性(如"reverse")。但是,您不能要求关闭"reverse"。
对于常见的情况,这并不重要。您可以在彩色部分的开头打开"reverse",然后使用"reset"清除所有属性。
但是,您可能希望打开某些属性,然后选择性地禁用其他属性。例如:
下划线仅用于哈希,而无需重新指定其余属性。
这也可以帮助像
contrib/diff-highlight
这样的第三方程序,它们希望在不破坏现有颜色的情况下打开/关闭某些属性。注意,有些属性规范可能是无意义的(例如,"
bold nobold
"),我们不麻烦标记这样的结构,而是让终端来分类。在Git 2.26(2020年第一季度)中,basic 7色学习了更亮的对应颜色(例如"
brightred
")。参见commit c444f03、commit 1751b09、commit 4a28eb0(2020年1月21日),作者为Eyal Soha (``)。
(由Junio C Hamano --
gitster
--合并到commit 87f17d7,2020年2月25日)color.c
:支持明亮aixterm颜色签署人:埃亚尔·索哈
这些颜色是3位颜色的明亮变体。
而不是30 - 37范围的前景和40 - 47范围的背景,他们生活在90 - 97和100 - 107范围,分别。
git config
文档现在包括:可接受的基本颜色为
normal
、black
、red
、green
、yellow
、blue
、magenta
、cyan
和white
。给定的第一种颜色是前景;二是背景。
normal
外,所有基本颜色都有一个明亮的变体,可以通过在颜色前加上bright
来指定,如brightred
。**随着Git 2.35(2022年第一季度),"
default
"和"reset
"颜色被添加到我们的调色板中。参见commit de65851(2021年10月26日)和Robert Estelle (
rwe
)的commit 05f1f41、commit aeefc18(2021年10月25日)。(由Junio C Hamano --
gitster
--合并至commit 15209c8,2021年12月15日)color
:允许颜色以"reset"为前缀签署人:罗伯特·埃斯特尔
"reset"以前被视为表示
\e[m
的独立特殊颜色名称。现在,它可以应用于其他颜色属性,允许精确的规范,而无需隐式属性继承。
例如,"reset green"现在呈现
\e[;32m
,这被解释为"reset everything";然后将前景设置为绿色"。这意味着背景和其他属性也将重置为其默认值。
以前,这是不可能用单一颜色表示的:"reset"可以单独指定,也可以指定带有属性的颜色,但有些事情(如清除背景颜色)是不可能的。
还有一个单独的更改,它引入了"默认"颜色名称来帮助实现这一点,但即使这样,上述情况也只能通过显式禁用每个属性来表示:绿色默认无粗体无暗淡无斜体无ul无 Flink 无反转无删除
config
现在在其手册页中包括:伪属性
reset
在应用指定的颜色之前重置所有颜色和属性。例如,reset green
将导致绿色前景和默认背景,而没有任何活动属性。hfyxw5xn3#
分享我的git日志格式:
您也可以在 ~/.gitconfig 中添加别名:
那么您可以使用在
~/.gitconfig
中定义的别名。goqiplq24#
下面是我在理解了使用VonC's answer中所示的自定义十六进制颜色值的语法之后编写的两个别名。
有四个版本,唯一的区别是
--graph
指令,f
版本还会显示添加、删除或修改的文件:我使用ColorHexa来选择我想要的颜色,然后从中复制十六进制值。
对于Windows,打开位于 C:\Users\YourUserName 文件夹中的 .gitconfig 文件,并添加一个别名部分,如上所述。
igetnqfo5#
我使用的是Ubuntu 18.04,我可以使用韩晓飞的建议。
对于试图完成这个任务的初学者来说,我最幸运的是编辑了. gitconfig。
将[别名]块从上方粘贴到现有文本下方
CTRL + O(写出)+ CTRL + X(关闭nano)
在这样做之后,要查看可以使用的漂亮颜色
使用
'git log'将显示没有颜色的视图,
对于“git日志-online”也是如此,只是其中一个日志将在旁边显示蓬勃发展
谢谢,我希望这对某人有帮助