如何在将“git difftool”传送到寻呼机时保留颜色
How to retain color when piping `git difftool` to pager
我无法获取:
git difftool -b -y -x "diff --color --suppress-common-lines -y -w -W 200" master:file.txt file.txt
在管道传输到 less -R
时保留其彩色输出。我做错了什么?
我想我已经尝试了所有 git 颜色配置选项,例如
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,我在外部 difftool
中缺少 --color
选项的 =always
参数diff
命令。这现在在管道减少时保持颜色:
git difftool -b -y -x "/usr/local/bin/diff --color=always --suppress-common-lines -y -w -W 200" master:file.txt file.txt
颜色不是来自 git
它们来自外部差异工具,因此决定是否使用颜色。所以你需要使用 -x "diff --color=always ..."
告诉 diff
使用颜色,即使输出没有进入终端。
我无法获取:
git difftool -b -y -x "diff --color --suppress-common-lines -y -w -W 200" master:file.txt file.txt
在管道传输到 less -R
时保留其彩色输出。我做错了什么?
我想我已经尝试了所有 git 颜色配置选项,例如
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,我在外部 difftool
中缺少 --color
选项的 =always
参数diff
命令。这现在在管道减少时保持颜色:
git difftool -b -y -x "/usr/local/bin/diff --color=always --suppress-common-lines -y -w -W 200" master:file.txt file.txt
颜色不是来自 git
它们来自外部差异工具,因此决定是否使用颜色。所以你需要使用 -x "diff --color=always ..."
告诉 diff
使用颜色,即使输出没有进入终端。