1

我不明白:

git difftool -b -y -x "diff --color --suppress-common-lines -y -w -W 200" master:file.txt file.txt

在管道传输到 时保留其彩色输出less -R。我究竟做错了什么?

我想我已经尝试了所有 git color config 选项,例如

git -c color.ui=always difftool --color=always -b -y -x "diff --color --suppress-common-lines -y -w -W 200" master:file.txt file.txt | less -R

但是没有颜色。一旦我将管道移除到less -R,我就会看到彩色输出。有任何想法吗?

编辑:感谢@jonathan-wakely,我错过了外部命令=always中选项的参数。现在,当管道减少时,这可以保持颜色:--colordifftool diff

git difftool -b -y -x "/usr/local/bin/diff --color=always --suppress-common-lines -y -w -W 200" master:file.txt file.txt
4

1 回答 1

1

颜色不是来自git它们来自外部差异工具,所以这就是决定是否使用颜色的原因。因此,即使输出不发送到终端,您也需要使用-x "diff --color=always ..."to 告诉使用颜色。diff

于 2018-03-06T15:17:24.447 回答