如何在diff中抑制转义序列的显示

Lew*_*ewy 6 git

当我运行git diff以查看修改后的文件中的更改时,diff会显示许多突出显示的转义序列.例如:

ESC[1mindex a7671ab..c228e2c 100644ESC[m
ESC[1m--- a/core/bp-nav-horizontal.phpESC[m
ESC[1m+++ b/core/bp-nav-horizontal.phpESC[m
ESC[36m@@ -77,7 +77,7 @@ESC[m
 <!-- Contact Us -->ESC[m
   <ul>ESC[m
       <li>ESC[m
Run Code Online (Sandbox Code Playgroud)

我怎样才能压制这些ESC[xxx字符.他们使阅读文本变得非常困难.

2014年8月15日修订

这不是关于git diff的.git log的显示也显示ESC...字符.这似乎是一个配置问题,但我不知道它在哪里.我应该在哪里看?

Lew*_*ewy 10

问题在于GIT用来打印差异和日志的寻呼机.将-R添加到配置中以减少我的问题.我用了

git config --global core.pager "less -R"
Run Code Online (Sandbox Code Playgroud)


eck*_*kes 4

您可能已设置 color.ui=always (或者auto终端检测不起作用)。您可以将其关闭never(如果先always尝试auto)。

您可以使用 git-diff 配置所有命令config.ui或特定于 git-diff 的命令color.diff

git config --global color.ui never
Run Code Online (Sandbox Code Playgroud)

使用

git config --local -l
git config --global -l
git config --system -l
Run Code Online (Sandbox Code Playgroud)

列出项目、用户和机器的当前设置。要暂时打开/关闭它,您可以--color=always在每个命令中使用参数。例如:

git log --color=never
Run Code Online (Sandbox Code Playgroud)

另请参阅:http ://git-scm.com/book/en/Customizing-Git-Git-Configuration