この記事では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のコマンド実行例
お読み頂きありがとうございました。