Git命令输出显示特殊字符

时间:2014-12-10 08:32:56

标签: git special-characters vi

过去几天,我们看到执行Git命令时出现奇怪的行为。

执行命令: git show 08fcf54adc7bbb75a54b14625fdeea7608d44a23> sample.patch

在通过 vi编辑器打开文件sample.patch时,我们看到很多特殊字符;示例输出文件如下所示:

^[[33mcommit 08fcf54adc7bbb75a54b14625fdeea7608d44a23^[[m

 Author: Anshul Gupta <anshul.gupta@lnttechservices.com>

 Date:   Wed Nov 26 23:27:20 2014 +0400

     Remove redundant logs from EPD driver

     Change-Id: I078584ddd7a58da1052a8d46fd59af722e11136b

 ^[[1mdiff --git a/drivers/video/s1d13522/s1d13522fb.c b/drivers/video/s1d13522/s1d13522fb.c^[[m

 ^[[1mindex ca568ad..5e67de6 100644^[[m

 ^[[1m--- a/drivers/video/s1d13522/s1d13522fb.c^[[m

 ^[[1m+++ b/drivers/video/s1d13522/s1d13522fb.c^[[m

 ^[[36m@@ -1099,7 +1099,7 @@^[[m ^[[mstatic void s1d13522fb_display_init_wq(struct work_struct *work)^[[m

注1:只有一个特定用户(在Ubuntu服务器上)才会出现此问题。所以它可能看起来像Git或者vi编辑器的配置问题。

注2:正常的文件重定向似乎工作正常。示例cat abc&gt; xyz,正确复制内容,没有特殊字符

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:2)

检查Git颜色设置。对于此特定用户,它们似乎已设置为 true ,但您希望改为使用 auto

您看到的字符是终端的颜色代码。使用 auto 的颜色设置时,在连接到vi时不应显示它们。

在此处查看更详细的问题/答案:https://unix.stackexchange.com/questions/44266/how-to-colorize-output-of-git

Git文档:http://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration#Colors-in-Git

默认值为 auto ,因此看起来有问题的用户具有覆盖默认值的本地配置。