在最新提交的
我想在
HEAD
中,我有一个名为foo
的文件。在我的当前工作树中,我将其重命名为bar
,并进行了编辑。我想在
HEAD
中的foo
和当前工作树中的bar
之间执行git diff
。我相信使用--no-index
是你想要的:
git diff [<options>] --no-index [--] <path> <path>
如 Git 手册所述:
这种形式是用来比较文件系统中给定的两个路径。当在被 Git 控制的工作树中运行该命令并且至少有一条路径指向工作树之外,或者当在被 Git 控制之外的工作树中运行该命令时,您可以省略
--no-index
选项。
git diff --no-index --word-diff file1 file2
),即使对于那些没有受到git控制的文件也是如此。(至少对我来说,在git v2.25.1,Ubuntu v20.04上是这样的。) - Johnny Utahhgit diff <path> <path>
比较任意两个文件。 - mitenkagit diff --help
,你会发现仅支持两个文件的模式是 git diff [<options>] --no-index [--] <path> <path>
。git diff a b
只匹配提交模式,而不是文件。 - Doug--no-index
选项。请注意,这里不包括解释。 - mitenkaHEAD:
对我有效。 - Anupam
git diff --no-index --word-diff old_file.txt new_file.txt
(--word-diff按单词而不仅是行高亮显示更改,在处理长文本时非常有用)。 - Pat