Git alias de salida de color en la function

Estoy intentando agregar un alias de git complejo que hará eco de los posts a medida que ejecuta los commands. Me gustaría colorear algunos de los posts (rojo por error, etc.).

[alias] test = !"f() { echo "\033[31mHello\033[0m World"; }; f" 

Sin embargo, cuando ejecuto el alias recibo un error:

 bad config line X in file .gitconfig` 

Ejecutando el mismo command echo "\033[31mHello\033[0m World" en el terminal se colorea muy bien.

Las barras diagonales tienen que ser escapadas. De los documentos de git-config …

Dentro de comillas dobles, comillas dobles "y barras invertidas \ caracteres deben ser escapadas: use \" para "y \ para.

Se reconocen las siguientes secuencias de escape (junto a \ "y \): \ n para el carácter de nueva línea (NL), \ t para la tabulación horizontal (HT, TAB) y \ b para el retroceso (BS). Otras secuencias de escape de caracteres (incluido el escape octal secuencias) no son válidas.

Esto funcionará

 test = !"f() { echo \"\\033[31mHello\\033[0m World\"; }; f" 

Pero si sus alias son tan complicados que necesita definir funciones que pueden convertirse en un gran desastre. Recomiendo poner esas funciones en su propio file y searchlas.

 test = !"source ~/.gitfuncs; f" $ cat ~/.gitfuncs f() { echo "\033[31mHello\033[0m World"; };