Подтвердить что ты не робот

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.

4b9b3361

Ответ 1

У меня нет старой версии 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, вы должны указать два цвета - передний план и фон, и вы можете объединить его с атрибутом.

Ответ 2

Git 2.3.0 (февраль 2015) позволит (благодаря Джеффу Кинку (peff)):


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" в свою спецификацию цвета. Однако вы не можете попросить отключиться.

Для обычных случаев это не имеет значения. Вы должны включить "обратное" в начале цветной секции, а затем очистить все атрибуты с помощью "reset".

Однако вы можете включить некоторые атрибуты, а затем выборочно отключить другие. Например:

git log --format="%C(bold ul yellow)%h%C(noul) %s"

подчеркивает только хэш, но без необходимости повторного указания остальных атрибутов.

Это также может помочь сторонним программам, таким как contrib/diff-highlight, которые хотят включить или отключить какой-либо атрибут без нарушения существующей раскраски.

Обратите внимание, что некоторые спецификации атрибутов, вероятно, бессмысленны (например, "bold nobold" ). Мы не будем помечать такие конструкции, а вместо этого разрешаем терминалу сортировать его.

Ответ 3

Поделитесь файлом журнала 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