走ろうとすると
diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
不明なオプションが表示されます(apt-get install git
経由でgitをインストールしました)
どちらかを使用
diff -u file1 file2
または
git diff branch/commit1 branch/commit2
https://www.kernel.org/pub/software/scm/git/docs/git-diff.html のgit diffの詳細
私は何も知りません--git
オプションのdiff
の場合、manページには表示されません。
一般的に、2つのディレクトリ間で再帰的なdiffを実行すると、各ファイルの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
はディレクトリに再帰します。)
本当の真実は、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