Как раскрасить консоль Git?

Я недавно видел, что git консоль в Windows окрашена, например, зеленый для дополнений, красный для удаления и т. д. Как мне покрасить мой git консоли, как это?

чтобы установить его, я использовал команду: $ sudo apt-get install git-core

9 ответов


As отметить by @VonC, color.ui по умолчанию auto начиная с git 1.8.4. Не релиз слишком рано;)


из вопроса Unix & Linux Stackexchange как раскрасить выход git? и ответ @Evgeny:

git config --global color.ui auto

на color.ui мета конфигурации, которая включает в себя все различные color.* конфигурации доступен с git команды. Это объясняется углубленный в git help config.

так что в основном это легче и будущее, чем задавая разные color.* настройки отдельно.

подробное объяснение из git config документация:

color.ui: эта переменная определяет значение по умолчанию для переменных, таких как color.diff и color.grep которые управляют использованием цвета для каждого семейства команд. Его область будет расширяться, как больше команд узнать конфигурация для установки значения по умолчанию для . Установить always если вы хотите, чтобы все выходные данные, не предназначенные для потребления машины, использовали цвет, чтобы true или auto Если вы хотите, чтобы такой вывод использовал цвет при записи на терминал или false или never если вы предпочитаете команды git не использовать цвет, если он не включен явно с какой-либо другой конфигурацией или .


например, см. http://www.arthurkoziel.com/2008/05/02/git-configuration/

самая интересная часть -

раскрашенная выход:

git config --global color.branch auto
git config --global color.diff auto
git config --global color.interactive auto
git config --global color.status auto

добавить в свою .файл gitconfig хранит настройки следующий код:

  [color]
    ui = auto
  [color "branch"]
    current = yellow reverse
    local = yellow
    remote = green
  [color "diff"]
    meta = yellow bold
    frag = magenta bold
    old = red bold
    new = green bold
  [color "status"]
    added = yellow
    changed = green
    untracked = cyan

Git автоматически окрашивает большую часть своего вывода, Если вы попросите его. Вы можете получить очень конкретные о том, что вы хотите цветной и как; но чтобы включить все окраски терминала по умолчанию, установите цвет.ui для true:

git config --global color.ui true

в Ubuntu или любой другой платформе (да, Windows тоже!); начиная с git1.8.4, который был выпущено 2013-08-23, вам не придется делать ничего:

многие учебники учат пользователей устанавливать " цвет.ui " в "авто", как первое, что после установки"user.name/email " чтобы представиться Git. теперь переменная "auto".

Так вы увидите цвета по умолчанию.


в своем ~/.gitconfig file, просто добавьте это:

[color]
  ui = auto

Он заботится обо всех ваших командах git.


другой способ-редактировать .gitconfig (создайте один, если он не существует), например:

vim ~/.gitconfig

а потом добавить:

[color]
  diff = auto
  status = auto
  branch = auto

GIT использует цветной вывод по умолчанию, но в некоторых системах, таких как CentOS, он не включен . Вы можете включить его так

git config --global color.ui  true 
git config --global color.ui  false 
git config --global color.ui  auto 

Вы можете выбрать необходимую команду отсюда .

здесь --global необязательно применять действие для каждого репозитория в вашей системе . Если вы хотите применить раскраску для текущего репозитория только тогда вы можете сделать что - то вроде этого -

 git config color.ui  true 

С git 2.18, у вас есть больше контроля над тем, как вы хотите указать цвета в консоли.
в "git config команда" использует отдельные варианты например,"--int","--bool" и т. д. чтобы указать, какой тип вызывающий объект хочет, чтобы значение интерпретировалось как.

новый "--type=<typename>" была введена опция, которая сделает ее более чистой для определения новых типов.

посмотреть зафиксировать fb0dc3b (18 Апр 2018), и commit 0a8950b (09 Апр 2018) by Тейлор Блау (ttaylorr).
(слитый Junio C Hamano -- gitster -- на совершить e3e042b, 08 мая 2018)

builtin/config.c: как предпочтительный псевдоним для --<type>

git config уже давно разрешил возможность для абонентов предоставлять " тип спецификатор, который указывает git config to (1) Убедитесь, что входящие значения можно интерпретировать следующим образом введите и (2) исходящие значения канонизирован под этим типом.

в другой серии, мы предлагаем расширить эту функциональность с --type=color и --default заменить --get-color.

однако мы традиционно используем --color чтобы означать " раскрасить этот вывод", вместо "это значение следует рассматривать как цвета".

в настоящее время git config не поддерживает этот вид раскрашивания, но мы должны быть осторожны, чтобы не сидеть на корточках на этом вариант слишком рано, так что git config поддерживает --color (в традиционном смысле) в будущее, если этого хочется.

в этом патче, мы поддерживаем --type=<int|bool|bool-or-int|...> in дополнение к --int, --bool и т. д.
это позволяет вышеупомянутому предстоящему патчу поддерживать запрос значения цвета по умолчанию через --type=color --default=..., без разбазаривания --color.

мы сохраняем историческое поведение жалобы, когда несколько, наследие-стиль --<type> флаги приведены, а также расширить это конфликтующий новый стиль --type=<type> флаги. --int --type=int (и его коммутативная пара) не жалуется, но --bool --type=int (и его коммутативная пара).

так раньше у вас было --bool и --int, Теперь (документация):

--type <type>

'git config ' гарантирует, что любой вход или выход действительны при заданном ограничении (ограничениях) типа, и канонизирует исходящие значения в <type>'ы каноническая форма.

действительный <type>С

  • 'bool': канонизировать значения как"true" или "false".
  • 'int': канонизировать значения в виде простых десятичных чисел. Необязательный суффикс 'k','m' или 'g ' приведет к умножению значения на 1024, 1048576 или 1073741824 при вводе.
  • 'bool-or-int': канонизировать в соответствии с'bool' или 'int', как описано выше.
  • 'path': канонизация путем добавления ведущего ~ стоимостью $HOME и ~user в домашний каталог указанного пользователя. Этот спецификатор не имеет эффект при установке значения (но вы можете использовать git config section.variable ~/ из командной строки, чтобы ваша оболочка выполняла расширение.)
  • 'expiry-date': канонизация путем преобразования из фиксированной или относительной строки даты в метку времени. Этот спецификатор не влияет на настройку значение.
--bool::
--int::
--bool-or-int::
--path::
--expiry-date::
  Historical options for selecting a type specifier. Prefer instead `--type`,
(see: above).