¿Cómo puedo lograr colores separados para los nombres de referencia actuales, locales y remotos cuando uso un formato de registro git personalizado?


16

Tengo un formato de registro de git personalizado que uso. Me he color.ui=truepuesto en mi .gitconfig. Por ejemplo, este formato simple:

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

Esto imprimiría algo como

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

HEAD, local, remoto se emitirá sin color en comparación con el git log --oneline --decorateque saldrá HEAD (en 'negrita cian'), local (en 'negrita verde') y remoto (en 'negrita rojo') con color. Ahora puedo envolverlo %dcon algo como lo %Cred%d%Cresetque hará que todos los nombres de referencia sean rojos.

¿Cómo puedo obtener nombres de referencia actuales, locales y remotos para que tengan colores separados cuando uso un formato personalizado con git log?



Ack, no miró el desbordamiento de la pila. Eso es muy malo sin embargo.
Ben Doerr

@VonC ¿Tal vez deberías agregar eso como respuesta?
NN

@NN tengo. En desbordamiento de pila. Sobre una de las 10 mil preguntas sobre Git.
VonC

Respuestas:



4

El git log --decoratepondrá por defecto:

  • la CABEZA en cian
  • las ramas remotas en rojo
  • la etiqueta en verde

y se puede cambiar a través de color.decorateconfig.

Pero el git log --formatno ofrecen una forma de mostrar específicamente el HEAD o los mandos a distancia o rama: los tres se visualizan a través %d, con un color posible.

- VonC en "Color en git-log"

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.