【发布时间】:2011-08-03 23:38:14
【问题描述】:
我怎样才能在git diff --color-words 中获得输出,但在 Git 之外?
最接近的是wdiff -t,但它强调/反转事物而不是使用绿色/红色,并且不允许指定我的空白正则表达式。
【问题讨论】:
标签: git colors diff word word-diff
我怎样才能在git diff --color-words 中获得输出,但在 Git 之外?
最接近的是wdiff -t,但它强调/反转事物而不是使用绿色/红色,并且不允许指定我的空白正则表达式。
【问题讨论】:
标签: git colors diff word word-diff
git diff --color-words --no-index old.txt new.txt
【讨论】:
--no-index。)
git diff --no-index --color-words
--no-index 和 --color-words 的顺序无关紧要......(实际上我现在找不到没有 --no-index 就失败的案例)。
alias diff="git diff --no-index"?
您可以说git diff --color=always --color-words,它将在输出中为您提供颜色转义码。不过,您将有一些外壳来解释颜色代码……
【讨论】:
--color-words=always 而不仅仅是--color-words 时,它也会遗漏一些东西。
根据 Jefromi 的评论,您可以使用
git diff --color-words file1 file2
也在 git 存储库之外。
【讨论】:
git diff --color-words --no-index <file1> <file2> 有效,但正确的方法是使用专门用于此目的的 wdiff (gnu.org/software/wdiff)
git diff 就是为此目的而设计的。 wdiff 只是一个黑客。有时阅读您的链接。
git diff 非常好,但上面提到的 wdiff 页面并没有说这是一个 hack。根据从该页面链接的自己的文档,wdiff“非常成熟”:gnu.org/software/wdiff/manual/wdiff.html
如果我在 git 存储库中(git v2.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 --no-index --color-words 失败了?我用过它(虽然是早期的 Git 版本)。
Git 版本 1.9.1:
git diff --word-diff=color fileA fileB
【讨论】: