git diff
git diffは、ブランチやインデックス間の差分を確認するコマンドです。
構文
- (構文)
- git diff [オプション] [比較対象1] [比較対象2]
※ [比較対象1]と[比較対象2]は、指定有無で以下のように差分対象が判断されます。
- 両方省略 → ワークツリーとインデックスの差分を表示
- [比較対象1]のみ指定 → ワークツリーと[比較対象1]の差分を表示
- 両方指定 → [比較対象1]と[比較対象2]の差分を表示
オプション | 説明 |
---|---|
--cached | インデックスと最新コミット(HEAD)の差分を表示する |
--name-only | 差分があったファイル名のみ表示する |
--help | コマンドのヘルプをブラウザで表示する |
--stat | 差分の統計情報のみ表示する |
サンプル
ワークツリーとインデックスの差分を表示する
git diff
追跡対象となっていないファイルは表示されません。
ワークツリーとHEADの差分を表示する
git diff HEAD
インデックスと最新コミット(HEAD)の差分を表示する
git diff --cached
結果として、次回コミット対象となるファイルの一覧が表示されます。
ローカルの最新コミットとリモートのmasterブランチの差分を確認する
git diff HEAD..origin/master
最新のコミットと一つ前のコミットの差分を表示する
git diff HEAD^..HEAD
windowsコマンドプロンプトでは、HEAD^を"HEAD^"とする必要があります
コミットID「5c40128」「9d16907」の差分を表示する
git diff 5c40128..9d16907
コミットIDはgit logで確認できます。
(コミットIDは40桁あるが、先頭の7桁を指定すればOK)
ブランチ「develop」と「eda01」の差分を表示する
git diff develop eda01
ファイル「hoge.txt」のみ、リポジトリと作業フォルダの差分を表示する
git diff hoge.txt
ワークツリーとインデックスの差分を表示する(ファイル名のみ)
git diff --name-only
HEADから2つ前のコミットとの差分を表示する
git diff HEAD~2
HEADとHEAD~の差分の統計情報のみ表示する
git diff HEAD HEAD~ --stat
備考
- diffは「ディフ」と読みます。
- 比較対象を2つ並べる時、スペースで区切っても「..」で区切っても同じです。
(例)以下2つは同じ意味です。
git diff HEAD..HEAD~
git diff HEAD HEAD~
関連項目
- git log:コミットの履歴を参照する