如何在 Git 存储库之外使用‘ Git diff —— color-words’?

如何像 git diff --color-words那样获得输出,但是在 Git 之外?

最接近的是 wdiff -t,但它强调/反转事物,而不是使用绿色/红色,并且不允许指定我的空白正则表达式。

21946 次浏览
git diff --color-words --no-index old.txt new.txt

您可以说 git diff --color=always --color-words,它将在输出中给出颜色转义码。你会有一些外壳来解释颜色代码,虽然..。

根据来自 Jefromi 的评论,你可以直接使用

git diff --color-words file1 file2

在 git 仓库之外。

如果我在 git 存储库(gitv2.3.3)中:

  • git diff --color-words不工作(没有输出)
  • git diff --no-index不接受 --color-words--color参数

可以使用 wdiff,配置为使用颜色,而不是下划线:

wdiff -n \
-w $'\033[30;31m' -x $'\033[0m' \
-y $'\033[30;32m' -z $'\033[0m' \
… | less -R

来源: https://www.gnu.org/software/wdiff/manual/html_node/wdiff-Examples.html(修改为使用前景色而不是背景色)

希望能有帮助。

Git 版本1.9.1:

git diff --word-diff=color fileA fileB