2012-10-09 11 views
70

voglio colorare uscita git-stato in modo che:Come colorare l'output git-status?

untracked files = magenta 
new files = green 
modified files = blue 
deleted files = red 

sto vedendo invece messo in scena i file in file verde e unstaged in azzurro: screenshot of git-status

mio .gitconfig è configurato con il seguente basa su qualche ricerca:

[color] 
status = auto 

[color "status"] 
added = green 
changed = blue 
untracked = magenta 
deleted = red 
+1

Nota: git 2.9.1 supporta gli attributi corsivo e strike. Vedi la mia modifica qui sotto. – VonC

risposta

97

Da git config doc:

color.status.<slot> 

Usa colore personalizzato per la colorazione di stato.
<slot> è uno dei:

  • header (il testo di intestazione del messaggio di stato),
  • added o updated (i file che vengono aggiunti, ma non impegnati),
  • changed (file che sono cambiati, ma non aggiunto nell'indice),
  • untracked (file che non sono monitorati da git),
  • branch (il ramo corrente), oppure
  • nobranch (il colore in cui è indicato l'avviso senza ramo, che diventa rosso).

I valori di queste variabili possono essere specificati come in color.branch.<slot>.

Quindi questo funziona:

git config color.status.changed blue 
git config color.status.untracked magenta 

Tuttavia:

new files = green 
deleted files = red 

non è possibile: è necessario scegliere un colore:

  • se sono aggiunti l'indice, sceglieranno il colore per color.status.added.
  • se non vengono aggiunti all'indice, selezioneranno il colore o color.status.modified.

Naturalmente, come commented da elboletaire:

Ricordare di abilitare l'uscita colorazione se non è stato abilitato in precedenza:

git config --global color.ui true 

Shaun Luttin aggiunge :

Il comando può anche assumere più parametri tra virgolette. Questo include due colori (sfondo in primo piano) da questo elenco:

normale, nero, rosso, verde, giallo, blu, magenta, ciano e bianco;

e comprende anche un attributo (stile) da questa lista:

grassetto, dim, ul, lampeggiare e retromarcia.

Quindi questo funzionerà:

git config color.status.changed "blue normal bold" 
git config color.status.header "white normal dim" 

Nota: con git 2.9.1 (luglio 2016), Lo schema di colorazione uscita imparato due nuovi attributi, corsivo e sciopero, in aggiunta agli attuali grassetto, negativo, ecc

Vedi commit 9dc3515, 012., commit 5621068, commit df8e472, commit ae989a6, commit adb3356, commit 0111681 (23 giu 2016) da Jeff King (peff).
(fusa per Junio C Hamano -- gitster -- in commit 3c5de5c 11 Lug 2016)

'anche permettere "no-" per gli attributi negando

Utilizzando "no-bold" piuttosto che "nobold" è più facile da leggere e più naturale scrivere (a me, comunque, anche se ero la persona che ha introdotto "nobold" in primo luogo). È facile consentire entrambi.

+20

Ricordarsi di abilitare l'output di colorazione se non è stato abilitato in precedenza: 'git config --global color.ui true' – elboletaire

+1

@elboletaire buon punto. L'ho incluso nella risposta per maggiore visibilità. – VonC

+0

Grazie, color.ui è la risposta. – Robeezy

Problemi correlati