スポンサーリンク

git diff は、インデックスとワーキングツリーの差分を抽出

git diff --staged(--cached)は、インデックスとHEADの差分を見ることができます。

git diff は、インデックスとワーキングツリーの差分を見ることができます。

例えば、tmp.txtに変更を加えたとします。

 (master)$ echo "text" >>tmp.txt 
 

git diffをすると、先程の変更がインデックスとワーキングツリーの差分として表示されます。
 (master *)$ git diff
diff --git a/tmp.txt b/tmp.txt
index e69de29..8e27be7 100644
--- a/tmp.txt
+++ b/tmp.txt
@@ -0,0 +1 @@
+text

ここで、git diff --stagedをしても、インデックスとHEADに差分はないので、何も表示されません。

 (master *)$ git diff --staged
 

スポンサーリンク

git diff --staged(--cached)はインデックスとHEADの差分を抽出

ここで、git addでインデックスに登録します。

 (master *)$ git add tmp.txt
 

git diffをしても、git addをしてインデックスとワーキングツリーの差分がなくなったので、差分は何もありません。

 (master +)$ git diff
 

ここで、git diff --stagedをすると、インデックスとHEADに差分があるので、下記のように差分が表示されます。

 (master +)$ git diff --staged
diff --git a/tmp.txt b/tmp.txt
index e69de29..8e27be7 100644
--- a/tmp.txt
+++ b/tmp.txt
@@ -0,0 +1 @@
+text

git diff --cachedでも同じ意味になります。
 (master +)$ git diff --cached
diff --git a/tmp.txt b/tmp.txt
index e69de29..8e27be7 100644
--- a/tmp.txt
+++ b/tmp.txt
@@ -0,0 +1 @@
+text

スポンサーリンク