Иногда вывод git diff/log совсем плох (собственно это случается лишь пару раз, сразу после установки, до того момента пока руки не доходят разобраться и снова на годы забыть решение).
Проблема кроется в пейджере, который установлен в настройках git-а. По умолчанию в системах, которыми я пользовался это less, замена на “less -R” исправляет это безобразие.
git config --global color.ui true # включаем "весёленькую расцветочку" git config --global core.pager "less -R" # используем pager, который "расцветочку" не эскейпит
“Расцветка” вывода git-команд