git diff の使い方
違いを見る
書き方
git diff git diff --staged git diff コミット コミット git diff main..feature git diff --stat
引数なしは作業ツリーとステージの違い、--staged はステージと最新コミットの違い。
よく使うオプション
| オプション | 意味 |
|---|---|
--staged | ステージした変更と最新のコミットの違い(--cached と同じ) |
--stat | ファイルごとの増えた行・減った行の数だけ出す |
--name-only | 変わったファイルの名前だけ出す |
-w | 空白の違いを無視する |
--word-diff | 行ではなく単語ごとに違いを出す |
例
$ git diff--- a/index.html
+++ b/index.html
@@ -3 +3 @@
-<h1>Welcome</h1>
+<h1>ようこそ</h1>まだステージしていない変更を見ます。- が消した行、+ が足した行です。
$ git diff --staged
次のコミットに入る変更を、コミットの前に確かめます。
$ git diff main feature --stat search.js | 40 ++++++++++++
index.html | 3 +-
2 files changed, 42 insertions(+), 1 deletion(-)main と feature のブランチで、どのファイルが何行違うかをまとめて見ます。
$ git diff HEAD~1 HEAD -- app.py
1 つ前のコミットと最新のコミットで、app.py がどう変わったかを見ます。
よくある間違い・注意
- git add したあとの変更は、引数なしの git diff には出ません。--staged を付けて見ます。
- 追跡していない新しいファイルは、git diff には出ません。
実際に打って練習する
Git コースの Lv7「違いを見る git diff」で覚えます(第1章 はじめての記録)。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。
Lv1〜10 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。