この記事ではgit diff
コマンドの『--statオプション』について、
Git diff --stat
とはgit diff --stat
の使い方git diff --stat
のコマンド実行例
などを分かりやすく説明するように心掛けています。ご参考になれば幸いです。
git diff --statとは
git diff
コマンドは、任意のコミット間での差分を表示するためのコマンドです。このコマンドに--stat
オプションを付けると、差分の統計情報(変更されたファイル数や追加・削除された行数)を見ることができます。
補足
stat
はstatistics
(統計)の略です。
git diff --statの使い方
ブランチ間の差分を確認したい場合には、以下のコマンドを実行します。
git diff <ブランチ名A> <ブランチ名B>
例えば、master
ブランチとfeature
ブランチを比較したい場合には、以下のコマンドを実行します(master
ブランチの方がfeature
ブランチより古い扱いで差分が表示されます)。
git diff --stat master feature
実行結果の例
以下に実行結果の一例を示しています。実行結果では、各ファイル単位の変更行数が表示され、出力の最終行に追加された行数(insertions)と削除された行数(deletions)の総計が表示されます。例えば、以下のような出力になります。
$ git diff --stat master feature
test01.txt | 14 ++++++++++++--
test02.txt | 5 +++++
2 files changed, 17 insertions(+), 2 deletions(-)
この出力例より、master
ブランチからfeature
ブランチへの変更点として、以下のことが分かります。
test01.txt
が変更test01.txt
では14行変更。その内12行追加(+の数)、2行削除(-の数)。
test02.txt
が変更test02.txt
では合計5行変更。その内5行追加(+の数)
- 合計2ファイル変更(
test01.txt
とtest02.txt
)- 2ファイル合計で、17行追加(insertions)、2行削除(deletions)
git diff --statのコマンド実行例
バージョン間での差分を調べる
リリースコミットとして、タグv1
とタグv2
が設定されているとします。これらのバージョン間での差分の統計情報を調べるには、以下のコマンドを実行します。
git diff --stat v1 v2
カレントブランチでの差分を調べる
master
ブランチとカレントブランチ間での差分の統計情報を調べるには、以下のコマンドを実行します。
git diff --stat master HEAD # masterブランチとカレントブランチの最新を比較
git diff --stat master # 同上(後ろの HEAD は省略可能)
コミット間での差分を調べる
任意の2つのコミット間での差分を調べるには、以下のコマンドを使用します。
git diff --stat <コミット番号1> <コミット番号2>
特定のディレクトリ以下の差分を調べる
特定のディレクトリ以下の差分のみを表示したい場合には、パスの指定の前に--
を入れます。例えば、src
ディレクトリ以下の差分を調べるには、以下のコマンドを使用します。
git diff --stat master feature -- src
カレントディレクトリ以下の差分を調べるには、以下のコマンドを使用します(カレントディレクトリの場合、--
は省略可能です)。
git diff --stat master feature -- .
git diff --stat master feature
特定のファイルのみの差分を調べる
特定のファイルタイプのみの差分を調べるには、以下のコマンドを使用します。例えば、.java
ファイルの差分のみを調べるには、以下のコマンドを使用します。
git diff --stat master feature -- "*.java"
全ての.java
ファイルではなく、カレントディレクトリにある.java
ファイルの差分のみを調べるには、以下のコマンドを使用します。
git diff --stat master feature -- "./*.java"
特定のファイルを除外する
特定のファイルを表示しないようにするには、:(exclude)
またはその短縮形である!
を使用します。例えば、README
ファイルを除いた差分を調べるには、以下のコマンドを使用します。
git diff --stat master feature -- ':(exclude)README*'
git diff --stat master feature -- ':!README*'
本記事のまとめ
この記事ではgit diff
コマンドの『--statオプション』について、以下の内容を説明しました。
Git diff --stat
とはgit diff --stat
の使い方git diff --stat
のコマンド実行例
お読み頂きありがとうございました。