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, а последняя версия Git, выпущенная SCO Skunkworks, была 1.6.0.3.
3 ответа:
у меня нет старой версии
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
вы должны быть в состоянии указать два цвета - изображения и фон и вы можете объединить его с атрибутом.
Git 2.3.0 (февраль 2015) позволит (спасибо Джефф Излом (
peff
)):
- 24-битные значения цвета RGB (совершить 17a4be2)
parse_color
: поддержка 24-битных значений RGBнекоторые терминалы (например, XTerm) позволяют использовать полные 24-битные спецификации цвета RGB, используя расширение для обычной цветовой схемы ANSI.
Давайте позволим пользователям указывать шестнадцатеричные цвета RGB,включение важной особенностью горячий розовый Реф украшения:git log --format="%h%C(#ff69b4)%d%C(reset) %s"
- лучшее управление цветовыми атрибутами:
parse_color
: признать "no$foo
" очистить$foo
атрибутвы можете включить текстовые атрибуты ANSI, такие как "reverse", поместив "reverse" в свою цветовую спецификацию. Однако вы не можете попросить выключить реверс.
для обычных случаев это не имеет значения. Вы бы включите " реверс "в начале цветного раздела, а затем очистите все атрибуты с помощью"сброса".
однако вы можете включить некоторые атрибуты, а затем выборочно отключить другие. Например:
git log --format="%C(bold ul yellow)%h%C(noul) %s"
подчеркивает только хэш, но без необходимости повторно указывать остальным атрибутам.
это также может помочь сторонним программам, например
contrib/diff-highlight
, которые хотят включить/выключить некоторые атрибуты не нарушая существующую окраску.обратите внимание, что некоторые спецификации атрибутов, вероятно, бессмысленны (например,"
bold nobold
"). Мы не беспокоимся о том, чтобы отмечать такие конструкции,а вместо этого пусть терминал разберется.
Share my git log format:
$ 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