Como posso obter cores separadas para nomes de referência atuais, locais e remotos ao usar um formato de log git customizado?

13

Eu tenho um formato de log git personalizado que eu uso. Eu tenho color.ui=true definido no meu .gitconfig . Por exemplo, este formato simples:

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

Isso imprimiria algo como

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

CABEÇA, local, remota será enviada sem cor em comparação com git log --oneline --decorate , que irá ultrapassar CABEÇA (em negrito ciano), local (em negrito verde) e remota (em negrito vermelho) com cor. Agora posso envolver o %d com algo como %Cred%d%Creset , o que fará com que os nomes das todas refs sejam vermelhas.

Como posso obter nomes de referência atuais, remotos e locais para ter cores separadas ao usar um formato personalizado com git log?

    
por Ben Doerr 21.09.2011 / 02:31

2 respostas

8

Agora você pode usar %C(auto) do git 1.8.3, de acordo com este post do blog da Atlassian ;

git log --format=format:'%h%C(auto)%d%C(reset) %s (%an, %ar)'

-Novamente,cortesiade VonC em "Color in git-log" , repostado aqui para a conveniência dos googlers de entrada.

    
por 11.11.2013 / 23:58
3

The git log --decorate will put by default:

  • the HEAD in cyan
  • the remote branches in red
  • the tag in green

and can be changed through color.decorate config.

But the git log --format don't offer a way to display specifically the HEAD or remotes or branch: all three are displayed through %d, with one color possible.

- VonC em "Cor no git-log"

    
por 23.05.2017 / 14:41

Tags