Проблема, как отмечали другие, в том, что с вашим терминалом все в порядке, но когда Git вызывает пейджер, он неправильно интерпретирует цветовые коды ANSI.
Я бы начал с , отключив LESS
в вашей среде; Похоже, вы ранее настраивали его на что-то, что мешает Git. Если это решит, то вы здесь. Если вам действительно нужно настроить LESS
, обратите внимание, что Git начинается с FRSX
по умолчанию, поэтому будьте осторожны с изменением их, если вам не нужно.
Если вы делаете по какой-либо причине хотите, чтобы LESS
в вашей среде отличался от того, что вы хотите для Git, идеальный способ справиться с Git и пейджером - через конфигурационную переменную core.pager
. Цитировать справочную страницу:
Команда, которую git будет использовать для разбиения на страницы вывода. Может быть переопределено переменной среды GIT_PAGER. Обратите внимание, что git устанавливает для переменной среды LESS значение FRSX, если оно не установлено при запуске пейджера. Можно изменить эти настройки, установив переменную LESS в другое значение. Кроме того, эти параметры могут быть переопределены на проекте или глобальном уровне, установив параметр core.pager. Настройка core.pager не влияет на поведение переменных среды LESS, описанное выше, поэтому, если вы хотите переопределить настройки git по умолчанию таким образом, вам нужно быть явным. Например, чтобы отключить опцию S обратно совместимым образом, установите для core.pager значение less -+$LESS -FRX
. Это будет передано оболочке с помощью git, которая переведет последнюю команду в LESS=FRSX less -+FRSX -FRX
.
Это, в сочетании с некоторыми знаниями о вариантах, которые вы хотите, должно привести вас туда, где вы хотите быть. (Причудливый метод обратной совместимости работает, отключая все параметры, которые в настоящее время находятся в LESS
, а затем добавляя обратно те, которые вам нужны.)