Guo Qiang

git diff 出现很多 ESC 字符

发布日期 2024-10-22 15:29:07已读 685 次FAQ
image

当使用 git diff 或者 git log 之类的命令时,看到转义字符 (ESC[m) 而不是颜色输出。这个问题可能是因为 less 或你的 pager 没有正确处理颜色代码。我们可以通过确保 less 正确处理颜色转义字符来解决这个问题。


~ % git reflog
ESC[33ma92009ESC[mESC[33m (ESC[mESC[1;36mHEADESC[mESC[33m -> ESC[mESC[1;32mmasterESC[mESC[33m, ESCL
mESC[1;31morigin/masterESC[mESC[33m, ESC[mESC[1;31morigin/HEADESC[mESC[33m)ESC[m HEAD@{03: commit: U
pdat to 1.3.4
ESC[33mf4d3875ESC[m HEAD@{1}: commit: Enhanced --poweroff handling for abnormally started virtual ma
chines
ESC[33mfa55555ESC[m HEAD@{2}: commit: Add lagg to the network card list
ESC[33mac061cdESC[m HEAD@{3}: commit: Fix a bug related to the IP mask in the function check_ip
ESC[33mba6ac2bESC[MESQ[33m (ESG[mESQ[1;33mtag: ESG[MESC[1;33m1.3.3ESG[MESQ[33m)ESG[m HEAD@54}:clone
from https://github.com/bigdragonsoft/bvm.git


运行以下命令,确保 Git 的 pager 能正确处理颜色:


git config --global color.ui always
git config --global core.pager "less -r"


Copyright © 2019~2024 Guo Qiang
Pages viewed 31,213,771