Как изменить цвета для имен тегов / веток в git log?

Когда я запускаю команду git log --graph --oneline --all --decorate Я вижу названия ветвей и тегов в цвете (думаю, так как я установил color.ui в auto). Мне это нравится, однако пару цветов очень трудно читать, особенно желтый, так как у меня белый фон.

Я хотел бы изменить это, и я обнаружил (в книге Git под цветом.* Здесь: https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration), что вы можете изменить настройки под color.* для дальнейшей настройки цветов Git. Тем не менее, ни один из 4 поднаборов (branch, diff, interactive, а также status), похоже, влияет на цвета, используемые git log для имен веток и тегов. Можно ли изменить эти цвета, и если да, то как?

2 ответа

Решение

git log --graph Цвет столбцов настраивается через:

log.graphColors

как задокументировано (не очень хорошо) в git config ручной.

Набор по умолчанию red, green, yellow, blue, magenta, cyan, bold red, bold green, bold yellow, bold blue, bold magenta, bold cyan,

Названия украшений (tag: tagname, HEAD названия филиалов и т. д.) окрашены в соответствии с color.decorate.slot, где slot один из branch, remoteBranch, tag, stash, или же HEAD, (Этот параметр управления был новым в Git 1.7.2, поэтому если у вас есть Git 1.7.1 или старше, у вас его нет.)

Есть еще много ручек управления: поиск git config документация к слову color,

В моем конфиге у меня есть color.diff.commit установлен в yellow, Я только что проверил команду

git -c color.diff.commit=green log

и цвет коммита обязательно изменится на зеленый. Смотрите мой .gitconfig и (отдельно включены) цвета (также в личном репозитории git).

Upd. Для цветов веток и тэгов необходимо установить color.decorate.branch а также color.decorate.tag, Пример (из моего файла "light_bg"):

[color "decorate"]
    HEAD = cyan
    branch = green
    tag = blue bold
Другие вопросы по тегам