2013-02-26 17 views
8

Ho installato la distribuzione ufficiale di git di Windows, e ho installato un recente mingw, e in quello il terminale di menta. Quindi ho copiato la mia installazione git in questa installazione di mingw, e ora funziona da mintty. Il mio unico problema è che l'output git non è colorato. Ho il sospetto che ciò sia dovuto al fatto che la porta git di Windows tenta di usare la console di colore della console di Windows e non i codici di colore ANSI che mintty sarebbe in grado di interpretare. È possibile far sì che Git usi i codici colore ANSI?Come ottenere un output colorato con git + mintty + mingw su windows?

(Ho provato un setup Cygwin prima di questo, ma le prestazioni sono state molto, molto male, e non sono riuscito a trovare alcuna soluzione a questo).

+1

Dalla mia esperienza Cygwin e Mingw sono ugualmente male in termini di prestazioni. In particolare, avere una variabile "PATH" pulita aiuta molto. – Rufflewind

risposta

9

da git-config:

Se questo è impostato su sempre, git-diff (1), git-log (1), e git-spettacolo (1) utilizzerà colore per tutte le patch . Se è impostato su true o auto, tali comandi utilizzeranno il colore solo quando l'output è sul terminale. Il valore predefinito è falso.

Sembra git non è trattare mintty come terminale. Per me usando sempre invece di vero/auto aiuta:

[color] 
    status = always 

Forzare il colore con l'aggiunta di --color bandiera a lavorare comando diff così (con diff = true):

git diff --color 
+0

In effetti, sembra che mettere "sempre" risolva il problema. Ho avuto una configurazione colore funzionante con la shell fornita con msysgit (che è una shell standard di Windows che esegue 'sh.exe --login -i'). Mettendo 'sempre' invece di true nel mio file' ~/.gitconfig' risolve il problema senza colore con 'mintty'. Grazie – Matt

+3

Questo non funziona completamente, ad esempio 'git branch'. Ho anche dovuto impostare branch, diff e interactive a "always" oltre allo status. –

0

È semplice. Config git per mostrare sempre il colore in qualsiasi interfaccia utente.

git config --global color.ui always 

Lavori per me.