Короткий ответ: либо силы цветной выход для каждого инструмента, используемого в GIT крючков на удаленной стороне или принудительно установить TERM
переменную окружения (опять же, на удаленной стороне). Используйте export TERM=xterm
(или export TERM=xterm-color
) где-то в начале каждого скрипта.
Долгосрочный ответ: по умолчанию инструменты unix, такие как npm
или git
, сами генерируют цветной выход (т. Е. Вывод с дополнительными escape-последовательностями, которые меняют цвет соответственно), только если эти инструменты могут обнаружить, что терминал, в котором они работают, способен изменять цвета , Возможности терминала определяются с помощью переменной окружения TERM
. Обычные интерактивные сеансы SSH могут передавать значение TERM
на удаленную сторону (см. Can I forward env variables over ssh?), но неинтерактивные сеансы обычно этого не делают, неинтерактивные сеансы могут работать в режиме TTY-less. Вы можете принудительно использовать цвет для определенного инструмента (например, npm via config) или правильно настроить переменную среды TERM.