是否有一个命令行程序可以提供基于单词的递归差异(在 2 个目录上)?
diff -u
是递归的,但它不会逐字比较。wdiff
并dwdiff
进行基于单词的差异,但没有递归差异的内置选项。
我想将结果通过管道传递给colordiff
生成可以理解的输出的程序,这colordiff
将特别有用。有什么建议么?谢谢!
抄送
是否有一个命令行程序可以提供基于单词的递归差异(在 2 个目录上)?
diff -u
是递归的,但它不会逐字比较。wdiff
并dwdiff
进行基于单词的差异,但没有递归差异的内置选项。
我想将结果通过管道传递给colordiff
生成可以理解的输出的程序,这colordiff
将特别有用。有什么建议么?谢谢!
抄送
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 选项。