2013-02-26 2 views
8

Я установил официальный дистрибутив git для Windows, и я установил последнее соединение, и в это терминал монетного двора. Затем я скопировал мою установку git на эту установку mingw, и теперь она работает изнутри mintty. Моя единственная проблема заключается в том, что вывод git не окрашен. Я подозреваю, что это связано с тем, что git-порт Windows пытается использовать цветную консоль Windows, а не цветовые коды ANSI, которые mintty мог бы интерпретировать. Можно ли вместо git использовать коды цветов ANSI?Как получить цветной выход с git + mintty + mingw на окнах?

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

+1

Из моего опыта Cygwin и Mingw примерно одинаково плохи с точки зрения производительности. В частности, наличие чистой переменной «PATH» помогает. – Rufflewind

ответ

9

из git-config:

Если установлено значение всегда, ГИТ-Diff (1), ГИТ-журнал (1), и ГИТ-шоу (1) будет использовать цвет для всех пластырей , Если он установлен в true или auto, эти команды будут использовать только цвет, когда вывод будет на терминал. По умолчанию false.

Похоже, мерзавец не лечить mintty как терминальное. Для меня, используя всегда вместо истинного/авто помогает:

[color] 
    status = always 

Форсирование цвета путем добавления --color флаг дифф командной работы, а также (с дифф = TRUE):

git diff --color 
+0

Действительно, кажется, что «всегда» решает проблему. У меня была рабочая настройка цвета с оболочкой, поставляемой с msysgit (которая является стандартной оболочкой Windows, использующей 'sh.exe -login -i'). Помещение 'always' вместо true в мой файл' ~/.gitconfig' устраняет проблему цвета без 'mintty'. Спасибо – Matt

+3

Это не работает, например 'git branch'. Я также должен был установить ветвь, diff и интерактивный для «всегда» в дополнение к статусу. –

0

Это просто. Config git всегда показывать цвет в любом ui.

git config --global color.ui always 

Работы для меня.

Смежные вопросы