Você está vendo as seqüências de escape que informam ao terminal para alterar as cores exibidas com o caractere de escape mostrado como ESC
, enquanto o comportamento desejado seria que as seqüências de escape tivessem o efeito pretendido.
Comandos como git diff
e git log
canalizam sua saída para um pager , less
por padrão. O Git tenta informar less
para permitir que os caracteres de controle tenham seu efeito de controle, mas isso não está funcionando para você.
Se less
for seu pager, mas você tiver a variável de ambiente LESS
definida como um valor que não inclui -r
ou -R
, o git não poderá informar less
para exibir cores. Normalmente passa LESS=-FRSX
, mas não se LESS
já estiver definido no ambiente. Uma correção é passar explicitamente a opção -R
para informar less
para exibir as cores quando invocado pelo git:
git config --global core.pager 'less -R'
Se less
não for seu pager, mude para less
ou descubra como tornar suas cores de exibição do pager.
Se você não quiser que o git exiba cores quando estiver chamando um pager, defina color.ui
para auto
em vez de true
.