最近,我切换到了SLES 11.我发现了git命令的问题。无法呈现所有ANSI颜色。相反,它显示如下的ANSI代码:
* ESC [33m *提交0a02124a0fd85c1f0094bcdf15bac1645e3c8630ESC [m
注意:'ls'中的ansi颜色效果非常好。
答案 0 :(得分:64)
尝试设置LESS
环境变量以包含-R
选项:
LESS=-R git grep ...
如果此方法有效,请将export LESS=-R
添加到~/.bashrc
或~/.profile
或类似的shell启动文件中。
-R or --RAW-CONTROL-CHARS
Like -r, but only ANSI "color" escape sequences are
output in "raw" form. Unlike -r, the screen
appearance is maintained correctly in most cases.
ANSI "color" escape sequences are sequences of the
form:
ESC [ ... m
where the "..." is zero or more color specification
characters
答案 1 :(得分:27)
正如其他人所指出的那样,问题是你的终端没问题,但是当Git调用寻呼机时,它并没有正确解释ANSI颜色代码。
我从您环境中的取消设置 LESS
开始;听起来你可能以前把它设置为模糊Git需要的东西。如果这解决了,那就是你。如果您真的必须自定义LESS
,请注意Git默认以FRSX
开头,因此如果您不需要,请务必更改这些内容。
如果 因任何原因希望你的环境中的LESS
与你想要的Git不同,那么处理Git和寻呼机的理想方式就是通过{{1}配置变量。引用联机帮助页:
git将用于分页输出的命令。可以使用GIT_PAGER环境变量覆盖。请注意,如果在运行寻呼机时未设置LESS,则git会将LESS环境变量设置为FRSX。可以通过将LESS变量设置为其他值来更改这些设置。或者,可以通过设置core.pager选项在项目或全局基础上覆盖这些设置。设置core.pager对上面的LESS环境变量行为没有影响,所以如果你想以这种方式覆盖git的默认设置,你需要明确。例如,要以向后兼容的方式禁用S选项,请将core.pager设置为
core.pager
。这将通过git传递给shell,它会将最终命令转换为less -+$LESS -FRX
。
结合对所需选项的一些了解,可以让你达到你想要的目标。 (这种花哨的向后兼容方法可以通过禁用当前LESS=FRSX less -+FRSX -FRX
中的所有选项,然后将其添加回您想要的选项。)
答案 2 :(得分:19)
在git中,您可以更改寻呼机以使用-R
选项:
git config --global core.pager "less -R"
答案 3 :(得分:6)
对我来说,这不起作用:
git config --global core.pager less -R
所以我将以下内容添加到我的〜/ .gitconfig文件
[core]
pager = less -R
为了测试它我做了
git log --graph --pretty=format:"%C(yellow)%h%Creset%C(blue)%d%Creset %C(white bold)%s%Creset %C(white dim)(by %an %ar)%Creset" --all
答案 4 :(得分:4)
好的,我明白了。这个问题与变量LESS有关。
以下行解决了这个问题:
export LESS="-erX"
答案 5 :(得分:1)
我遇到了同样的问题。但为什么我需要在一台机器上配置一个git而在另一台机器上不需要?我想解决问题的根源,因为
对我来说,git config --global core.pager“less -R”
看起来像是一种解决方法。
答案 6 :(得分:0)
我在Laravel Artisan和Symfony控制台的Git for Windows v2.7.1中遇到了与ANSI颜色转义序列类似的问题。这里提到的LESS
解决方案并没有解决问题。
由于Git for Windows使用bash --login -i
打开终端,因此在终端启动后输入的这一行为我工作了:
bash
答案 7 :(得分:0)
无论谁在这里结束,对于我而言,都可以通过将core.pager设置为空字符串而不是取消设置来解决:
git config --global core.pager ''
这是来自https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration