是否有一个命令行程序,它提供递归的基于字的diff(在2个目录上)?
diff -u
是递归的,但它没有逐字逐句比较。 wdiff
和dwdiff
执行基于字词的差异,但没有内置的递归差异选项。
我想将结果传递给colordiff
,因此生成colordiff
理解的输出的程序将特别有用。有什么建议?谢谢!
CC
答案 0 :(得分:24)
Git可以做到并输出颜色:
以下经常有用:
git diff --color-words path1 path2
但一般情况下你可能需要做
git diff --no-index --color-words path1 path2
这两个文件都不需要在git存储库中!
如果您和路径位于git工作树中,则需要 --no-index
。如果您或其中一个文件位于git工作树之外,则可以省略它。
手册页:https://git-scm.com/docs/git-diff/1.8.5(以及稍后......)
git diff --no-index [--options] [ - ] [...]
此表单用于比较文件系统上给定的两个路径。您可以 在工作树中运行命令时省略--no-index选项 由Git控制,至少有一条路径指向外面 工作树,或在工作树外运行命令时 由Git控制。