diff --git 未知选项

diff --git 未知选项

当我尝试跑步时

diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c

我得到未知选项(我已经通过安装了 git apt-get install git

答案1

要么使用

diff -u file1 file2

或者

git diff branch/commit1 branch/commit2

有关 git diff 的更多信息,请参见https://www.kernel.org/pub/software/scm/git/docs/git-diff.html

我不知道有任何--git选项,diff而且手册页也没有显示它。

答案2

一般来说,当您在两个目录之间运行递归比较时,每个文件 diff 都会包含一个 diff 命令,显示它对每个文件执行的操作。例如:

$ diff -ru a b
diff -ru a/file b/file
--- a/file  2015-07-17 01:06:14.078875805 -0700
+++ b/file  2015-07-17 01:06:21.969077076 -0700
@@ -1 +1 @@
-hello
+goodbye

Git 希望以相同的格式生成补丁,因此每个文件前面必须有一行以“ diff...”开头。但由于 git 使用它自己的内部 diff 实现,为了让阅读输出的人们清楚他们正在查看的内容,git 添加了虚构的标志--git

实际上,如果你想使用 git 来比较文件系统中的两个文件或目录,你可以运行:

git diff --no-index a b

(该--no-index标志表示忽略您所在的任何 git 存储库。如果您不在 git 存储库中,则可以省略该选项。)Git 以“unidiff”格式生成输出。如果您想使用系统 diff 命令来近似,您可以使用diff -ru a b。 (该-u标志选择 unidiff 格式,而-r递归到目录中。)

答案3

真正的事实是 git 显示的是一个假命令。

$ git diff drivers/cpufreq/intel_pstate.c
diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
index 286bfoo..14a8foo 100644
--- a/drivers/cpufreq/intel_pstate.c
+++ b/drivers/cpufreq/intel_pstate.c

相关内容