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


16

Eu tenho um formato de log git personalizado que eu uso. Eu color.ui=truecoloquei 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á git log --oneline --decorateimpressa sem cores, comparada com a cor da CABEÇA (em negrito ciano), local (em 'negrito verde') e remota (em 'negrito vermelho'). Agora eu posso envolver o %dcom algo como o %Cred%d%Cresetque fará com que todos os nomes ref sejam vermelhos.

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



Ack, não parecia exceder a pilha. Isso é muito ruim.
Ben Doerr

@VonC Talvez você devesse adicionar isso como resposta?
NN

@NN eu tenho. No estouro de pilha. Cerca de uma das 10 mil perguntas sobre o Git.
VonC 21/09

Respostas:



4

O git log --decorateirá colocar por padrão:

  • a cabeça em ciano
  • os galhos remotos em vermelho
  • a etiqueta em verde

e pode ser alterado através da color.decorateconfiguração.

Mas a git log --formatnão oferecem uma maneira de exibir especificamente a HEAD ou controles remotos ou ramo: os três são exibidos por meio %d, com uma cor possível.

- VonC em "Cor no git-log"

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.