¿Es posible 'colorear' los posts de logging de git?

¿Es posible agregar algún tipo de instrucciones (metasímbolos?) A los posts de confirmación de git, para que aparezcan coloreados en la salida de git log ?

EDITAR: Seré más específico: ¿es posible marcar varias palabras en un post de confirmación en un color diferente? Quiero insert marcas de color en el post de confirmación y revisarlo a través de git log . Por ejemplo, me gustaría que el ID del error aparezca en rojo. Es posible tener algo como esto?

Puede activar la salida coloreada configurando la opción de git config color.ui en true . Lo siguiente debería funcionar

 git config --global color.ui true 

Luego puede definir alias que --pretty=format:".." colors usando la --pretty=format:".." . Pero no creo que haya ningún tipo de coincidencia personalizada. Supongo que eso es lo que necesitarías para colorear algo como ID de error. Sin embargo, puede colorear elementos de confirmación como hash, autor, twig, etc.

git log puede tomar el argumento --pretty , que le permite especificar una cadena de formatting en la que también puede especificar el color de los arguments. Luego puede alias eso a un nuevo command de shell. Ver PRETTY FORMAT aquí

Según su edición, parece que está buscando una manera de agregar formatting al post de logging de confirmación. Responderé esto indicando que los posts de confirmación se almacenan como text sin formatting dentro de Objetos Git . Entonces, en teoría, podría escribir un progtwig para leer y formatear objects de Git Commit usando la edición de text enriquecido, lo que permite text formateado, con casi todos los progtwigs existentes que está limitado a usar text sin formatting.

Dicho esto, puede usar la opción --pretty mencionada anteriormente en combinación con la denominación inteligente de sus confirmaciones para hacer que las identificaciones de errores se destaquen.

Puede hacerlo manualmente, por ejemplo, con algo como esto:

 git log --color=always | grep --color=always -C1000 BUG- | less -R 

Consulte las líneas 20 y 21 de mi .gitconfig para ver cómo personalicé el logging de git con colors.

Estos son mis dos alias git faviorite que colorean git log.

lg1 = log --graph --all --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(bold white)— %an%C(reset)%C(bold yellow)%d%C(reset)' --abbrev-commit --date=relative

lg = log --graph --all --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n'' %C(white)%s%C(reset) %C(bold white)— %an%C(reset)' --abbrev-commit

Una respuesta que aún no he encontrado aquí, es que para que los códigos de color aparezcan correctamente en git log y git diff , es posible que también deba especificar que core.pager pnetworkingeterminado está configurado para usar less (como en muchos distos). ) Sin embargo, less no canaliza los códigos de color a la derecha a less que también dé less la opción -r ( raw ). Entonces necesitas hacer esto:

 git config --global color.ui true git config --global core.pager 'less -r'