Цветной выход git, подаваемый на губку

git будет окрашивать его. Поэтапные изменения зеленые и удаленные файлы, например, красные. У меня есть скрипт, выполняющий несколько команд git параллельно, и я использую sponge чтобы получить более приятный результат.

Но использование sponge удаляет цвета, есть ли способ изменить это?

Да, вы можете заставить git выводить цветовые коды. Для многих подкоманд git вы можете добавить опцию --color :

 git log --color | sponge 

Для других вам нужно настроить цвет вывода с помощью директив конфигурации; либо по команде:

 git -c color.status=always status | sponge 

или навсегда в одном из файлов конфигурации:

 git config --global color.status always git status | sponge 

(По умолчанию git отключает вывод цвета, когда его вывод отправляется где-то, кроме терминала. Если вы хотите установить директиву color для подкоманд совместимых с color , вам нужно использовать color.ui key: git config --global color.ui always .)

Теперь, когда я знал, что искать, я нашел ответ на Stack Overflow :

 git -c color.ui=always -c color.status=always status | sponge