Answers:
明确指定路径:
git diff HEAD:full/path/to/foo full/path/to/bar
签出docs中的--find-renames
选项。git-diff
信用:twaggs。
git diff <path> <path>
即使两个文件不在git存储库中,您也可以使用它们进行比较。
git diff --help
将会看到两个文件唯一支持的模式是git diff [<options>] --no-index [--] <path> <path>
。git diff a b
仅匹配提交模式,不匹配文件。
--no-index
当在由Git控制的工作树中运行命令并且该工作树之外的至少一条路径指向运行时,或者在由Git控制的工作树外部运行命令时,可以忽略此选项。 。
我相信--no-index
您正在寻找的是使用:
git diff [<options>] --no-index [--] <path> <path>
如git手册中所述:
这种形式是比较文件系统上给定的两个路径。在由Git控制的工作树中运行命令并且在工作树之外至少有一个路径点时,或者在由Git控制的工作树外部运行命令时,可以 忽略该
--no-index
选项。
git diff --no-index --word-diff old_file.txt new_file.txt
(--word-diff突出显示了按单词而不是仅按行显示的更改,这对于长文本非常有用)。