git diff コマンドは、Git リポジトリにおける変更内容を比較して表示するためのコマンドです。
ワークツリーとステージングエリア、またはコミット間の差分を確認するのに利用されます。
構文(Syntax)
git diff [オプション] [比較対象]
主なオプション一覧
| オプション | 説明 | 使用例 |
|---|---|---|
| (なし) | ワークツリーとステージングエリアの差分を表示 | git diff |
--staged / --cached | ステージングエリアと直前のコミットの差分 | git diff --staged |
HEAD | 現在の作業ツリーと最新コミットの差分 | git diff HEAD |
<commit1> <commit2> | 2つのコミット間の差分 | git diff abc123 def456 |
<branch1>..<branch2> | ブランチ間の差分 | git diff main..develop |
--stat | 差分の統計のみ表示 | git diff --stat |
--name-only | 変更されたファイル名のみ表示 | git diff --name-only |
--color-words | 単語単位で差分を表示 | git diff --color-words |
実行例
ワークツリーとステージの差分を表示
git diff
出力例:
diff --git a/app.py b/app.py
index e69de29..95c6d12 100644
--- a/app.py
+++ b/app.py
@@ -0,0 +1,2 @@
+print("Hello World")
+print("New line")
ステージング済みの変更を確認
git diff --staged
最新コミットとの差分を表示
git diff HEAD
2つのコミットを比較
git diff abc123 def456
ブランチ間の差分を表示
git diff main..develop
統計のみ確認
git diff --stat
出力例:
app.py | 2 ++
1 file changed, 2 insertions(+)
変更されたファイル名のみ表示
git diff --name-only
出力例:
app.py
README.md
エラー例(Gitリポジトリ外で実行)
git diff
出力例:
fatal: not a git repository (or any of the parent directories): .git
関連コマンド
git status: 変更されたファイルの状態を確認する。git log -p: コミットごとの差分を確認する。git show: 特定のコミットの差分を表示する。
備考
git diffは まだステージングしていない変更 を確認するのに便利。git diff --stagedを組み合わせると、次のコミットに含まれる内容を確認できる。- 差分はパッチ形式で出力され、
git applyで適用可能。
参考
- Git公式ドキュメント: https://git-scm.com/docs/git-diff

コメント