私が走ろうとしたとき
diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
apt-get install git
不明なオプションが表示されます(すでに次のように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
一般的に言えば、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を使用してファイルシステム上の2つのファイルまたはディレクトリを比較するには、次のように実行できます。
git diff --no-index a b
(この--no-index
フラグは、現在存在するすべてのGitリポジトリを無視することを意味します。Gitリポジトリにない場合は、このオプションを省略できます。)Gitは、「unidiff」形式で出力を生成します。 system 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