He tenido el mismo problema en Slackware y FreeBSD.
Al querer ver el log de commits mediante git log
o ver las diferencias con un git diff
desde la terminal:
[diavolo@mikasa:djangoproject.com]$ git log --oneline
En lugar de ver algo como esto:
ff4e711 (HEAD -> master, origin/master, origin/HEAD) Fixed typo in ProfileForm docstring.
8df1aaa Fixed CSRF token leak in donate form if JavaScript is disabled.
fbfeb6a Updated links to https.
8812595 Added 2017 PyCharm fundraiser banners.
d05033b Fixed #782 -- Added Django desktop wallpaper.
Veía un conjunto de caracteres de escape que usa git para colorear los commits combinados con el log de commits.
ESC[33mff4e711ESC[mESC[33m (ESC[mESC[1;36mHEAD -> ESC[mESC[1;32mmasterESC[mESC[33m, ESC[mESC[1;31morigin/masterESC[mESC[33m, ESC[mESC[1;31morigin/HEADESC[mESC[33m) ESC[m Fixed typo in ProfileForm docstring.
ESC[33m8df1aaaESC[m Fixed CSRF token leak in donate form if JavaScript is disabled.
ESC[33mfbfeb6aESC[m Updated links to https.
ESC[33m8812595ESC[m Added 2017 PyCharm fundraiser banners.
ESC[33md05033bESC[m Fixed #782 -- Added Django desktop wallpaper.
El problema es que resulta incomodo y poco práctico para ver un historial.
Para solucionar esto, solo hay que ejecutar lo siguiente para configurar el core.pager
de git:
[diavolo@mikasa:djangoproject.com]$ git config --global core.pager "less -R"
Y desde ahora, cada vez que se desee ver el log de commits, o el diferencial de cambios, se visualizará un log a colores. Como debió de estar desde el inicio.