Come posso ottenere colori separati per i nomi di riferimento correnti, locali e remoti quando utilizzo un formato di registro git personalizzato?


16

Ho un formato di registro git personalizzato che uso. Ho color.ui=trueimpostato nel mio .gitconfig. Ad esempio questo semplice formato:

git log --pretty=format:"%h %d %s" --decorate

Ciò stamperebbe qualcosa del genere

52a41e0 (HEAD, local) Commit message foo
185bd17 (remote) The commit message

HEAD, local, remote verrà emesso senza colore rispetto al git log --oneline --decoratequale esploderà HEAD (in 'grassetto ciano'), local (in 'grassetto verde') e remoto (in 'grassetto rosso') con colore. Ora posso avvolgere il %dcon qualcosa del genere %Cred%d%Cresetche farà diventare rossi tutti i nomi di riferimento.

Come posso ottenere nomi di riferimento attuali, locali e remoti per avere colori separati quando uso un formato personalizzato con git log?



Ack, non ho visto lo stack overflow. È un peccato però.
Ben Doerr,

@VonC Forse dovresti aggiungerlo come risposta?
NN,

@NN l'ho fatto. Overflow dello stack. Circa una delle 10 mila domande su Git.
VonC,

Risposte:



4

La git log --decoratemetterà di default:

  • la TESTA in ciano
  • i rami remoti in rosso
  • il tag in verde

e può essere modificato tramite color.decorateconfig.

Ma il git log --formatnon offrono un modo per visualizzare in particolare la HEAD o telecomandi o filiale: tutti e tre vengono visualizzati tramite %d, con un colore possibile.

- VonC su "Colore in git-log"

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.