当我运行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
如何抑制这些ESC[xxx
个字符。他们很难阅读文本。
2014年8月15日修订
这不是关于git diff的。 git log的显示也显示ESC...
个字符。这似乎是一个配置问题,但我不知道它在哪里。我应该在哪里看?
答案 0 :(得分:8)
问题在于GIT用来打印差异和日志的寻呼机。将-R添加到配置中以减少我的问题。我用了
git config --global core.pager "less -R"
答案 1 :(得分:4)
您可能设置了color.ui = always(或auto
并且终端检测不起作用)。您可以使用never
将其关闭(如果是always
先尝试auto
)。
您可以使用config.ui
配置所有命令,或使用color.diff
配置针对git-diff的所有命令。
git config --global color.ui never
使用
git config --local -l
git config --global -l
git config --system -l
列出项目,用户和机器的当前设置。要临时打开/关闭它,您可以在每个命令中使用--color=always
参数。例如:
git log --color=never
另请参阅:http://git-scm.com/book/en/Customizing-Git-Git-Configuration
答案 2 :(得分:0)
Git 2.14.x / 2.15(2017年第3季度)将最终尊重git config color.ui never
。
请参阅commit 11b087a,commit 18fb7ff,commit d75dfb1,commit d8b6868,commit 136c8c8,commit ab7ded3,commit 29ef53c,{{3} },commit aa8a5d1,commit 18a2565,commit bf285ae,commit 4a68e36,commit 51331aa,commit 097b681,commit 5d3d068(2017年7月13日){ {3}}。
(由commit 2eda010合并于Jeff King (peff
),2017年8月11日)
“漂亮的打印格式中的”
%C(color name)
“始终生成ANSI 颜色转义码,这是一个早期的设计错误 他们现在尊重配置(例如“color.ui = never
”)和tty-ness 输出媒体。
答案 3 :(得分:0)
我在默认情况下未安装“较少”的系统上。
我使用:
您还可以选择:
关键是它不是'git',而是您使用的寻呼机的(默认)配置。