我正在尝试为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。
答案 0 :(得分:115)
我没有旧版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"
我至少知道的颜色列表是:
normal
black
red
green
yellow
blue
magenta
cyan
white
它可以与以下属性之一结合使用:
bold
dim
ul
blink
reverse
如果您尝试使用.gitconfig
更改颜色,则应该能够指定两种颜色 - 前景和背景,并且可以将其与属性。
答案 1 :(得分:29)
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"
parse_color
:识别“no$foo
”以清除$foo
属性您可以通过在颜色规范中添加“反向”来启用ANSI文本属性,例如“反向”。但是,你不能要求关闭反向。
对于常见情况,这无关紧要。您可以在彩色部分的开头打开“反向”,然后使用“重置”清除所有属性。
但是,您可能希望打开某些属性,然后有选择地禁用其他属性。例如:
git log --format="%C(bold ul yellow)%h%C(noul) %s"
仅强调散列,但无需重新指定其余属性。
这也有助于第三方程序,例如
contrib/diff-highlight
,希望在不中断现有着色的情况下打开/关闭某些属性。请注意,某些属性规范可能是荒谬的(例如,“
bold nobold
”)。我们不打算标记这样的结构,而是让终端对其进行排序。
答案 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
您还可以在〜/ .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
答案 3 :(得分:2)
我正在使用Ubuntu 18.04,并且能够使用韩小飞的建议。
对于尝试完成此操作的初学者来说,我很幸运,可以通过编辑.gitconfig来实现。
nano ~/.gitconfig
在现有文本下方从上方粘贴[alias]块
CTRL + O(写出)+ CTRL + X(关闭nano)
完成此操作后,可以使用
来查看漂亮的颜色git logs
使用
“ git log”将为您提供没有颜色的视图,
与'git logs --oneline'相同,除了一个会在侧面显示出繁荣状态
谢谢,我希望这对某人有帮助
答案 4 :(得分:1)
在我理解使用自定义十六进制颜色值的语法后,这里写了两个别名,如@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"
我使用此站点选择了所需的确切颜色,然后从中复制了十六进制值:
对于Windows,打开位于“ C:\ Users \ YourUserName”文件夹中的.gitconfig文件,并添加一个别名部分,如上所示。
希望你喜欢他们。