Working と Index の差分
1 |
$ git diff |
Working と Local repository(のHEAD)の差分
1 |
$ git diff HEAD |
Index と Local repository(のHEAD)の差分
1 |
$ git diff --cached |
1 |
$ git diff --staged |
差分があるファイル名だけを表示
--name-only
例
1 |
$ git diff HEAD^ --name-only |
ブランチ間の差分
1 |
$ git diff [ブランチ名A] [ブランチ名B] |
1 |
$ git diff [ブランチ名A]..[ブランチ名B] |
ブランチの最新コミット同士の比較。
例
1 |
$ git diff master develop |
1 |
$ git diff master..develop |
1 |
$ git diff master develop main.c |
マージベースの差分
1 |
$ git diff [ブランチ名A]...[ブランチ名B] |
2つのブランチのマージベースからの差分
例
1 |
$ git diff master...develop |
比較オプション
-w
,--ignore-all-space
- 空白文字(スペース文字とタブ文字)の差異を全て無視する。
-b
,--ignore-space-change
- 行末空白文字と連続空白文字の差異だけを無視する。
オプション | 単体スペース | 連続スペース | 行末スペース |
---|---|---|---|
--ignore-all-space |
無視 | 無視 | 無視 |
--ignore-space-change |
比較 | 無視 | 無視 |
統計的比較
--stat
差分をグラフィカルに表示する。追加を+, 削除を-として表示する。人処理向け
--numstat
追加行数, 削除行数, ファイルパスの順にタブ区切りで表示する。機械処理向け。
--name-status
A:追加, M:変更, D:削除と行を分割してタブ区切りで表示する。機械処理向け。
--shortstat
変更数をファイルごとでなく集計した値のみ表示する。