Agora que sabia o que procurar, encontrei a resposta no estouro de pilha :
git -c color.ui=always -c color.status=always status | sponge
git
colorirá sua saída. As alterações em etapas são verdes e os arquivos excluídos são vermelhos, por exemplo.
Eu tenho um script executando vários comandos git
em paralelo e eu uso sponge
para obter uma saída mais agradável.
Mas usando sponge
remove as cores, existe uma maneira de mudar isso?
Agora que sabia o que procurar, encontrei a resposta no estouro de pilha :
git -c color.ui=always -c color.status=always status | sponge
Sim, você pode forçar git
a emitir códigos de cores. Para muitos subcomandos git
, você pode adicionar a opção --color
:
git log --color | sponge
Para outros, você precisará configurar a saída em cores usando diretivas de configuração. por comando:
git -c color.status=always status | sponge
ou para melhor em um dos arquivos de configuração:
git config --global color.status always
git status | sponge
(Por padrão, git
desativa a saída de cores quando sua saída é enviada para outro local que não seja um terminal. Se você deseja definir a diretiva color
para subcomandos compatíveis --color
, use a chave color.ui
: git config --global color.ui always
.)