14

是否有一个命令行程序可以提供基于单词的递归差异(在 2 个目录上)?

diff -u是递归的,但它不会逐字比较。wdiffdwdiff进行基于单词的差异,但没有递归差异的内置选项。

我想将结果通过管道传递给colordiff生成可以理解的输出的程序,这colordiff将特别有用。有什么建议么?谢谢!

抄送

4

1 回答 1

27

Git 可以做到并输出颜色:

以下通常有效:

git diff --color-words path1 path2

但总的来说你可能需要做

git diff --no-index --color-words path1 path2

两个文件甚至都不需要在 git 存储库中!

--no-index如果您和路径位于 git 工作树中,则需要。如果您或其中一个文件位于 git 工作树之外,则可以省略它。

手册页:https ://git-scm.com/docs/git-diff/1.8.5 (及更高版本......)

git diff --no-index [--options] [--] […​]

这种形式是比较文件系统上给定的两个路径。当在 Git 控制的工作树中运行命令并且至少有一个路径指向工作树之外,或者在 Git 控制的工作树之外运行命令时,您可以省略 --no-index 选项。

于 2011-05-05T01:09:22.520 回答