git diff – 変更内容を比較表示するコマンド

リポジトリ管理

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 で適用可能。

参考

Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント