Menu
Coddy logo textTech

Git Diff

最終更新

git diff は、リポジトリの2つの状態間の正確な行単位の変更を表示します。引数なしでは、変更したがまだステージしていない内容を表示します。ステージ済みの内容を見るには --staged を追加し、比較するには2つのコミットやブランチを指定し、絞り込むにはファイルを指定します。

これらをターミナルプレイグラウンドで試してみましょう - ブラウザ内の本物のシェルで、インストール不要です。

git diff は 2 つの状態の間で変わった行そのものを表示します。削除された行と追加された行です。

構文

CommandWhat it does
git diffステージされていない変更とインデックスの比較
git diff --stagedステージされた変更と直前のコミットの比較
git diff HEAD直前のコミット以降のすべての変更
git diff main feature2つのブランチ間の差分
git diff <hash1> <hash2>2つのコミット間の差分
git diff -- file.txt単一ファイルの変更

よくあるケース

GoalCommand
これからコミットする内容を確認するgit diff --staged
未コミットの作業を確認するgit diff
自分のブランチを main と比較するgit diff main
変更されたファイル名だけを確認するgit diff --name-only

Git diff のよくある質問

git diff はデフォルトで何を表示しますか?
引数なしの場合、git diff はワーキングツリー内のまだステージされていない変更を表示します - 直前の git add 以降に編集した内容です。すでにステージした内容(次にコミットされる内容)を見るには git diff --staged を、直前のコミット以降のすべてを見るには git diff HEAD を使います。
git diff と git diff --staged の違いは何ですか?
git diff はワーキングツリーとステージングエリアを比較します(ステージされていない変更)。git diff --staged--cached も同じ)はステージングエリアと直前のコミットを比較します(ステージされた変更)。この2つを合わせると、未コミットの作業の両方の側面が見えます。
2つのブランチやコミットの diff を取るにはどうしますか?
それらを指定します: git diff main feature は2つのブランチ間の違いを表示し、git diff <hash1> <hash2> は2つのコミットを比較します。比較を1つのファイルに限定するには、末尾に -- <file> を追加します。
完全な diff ではなく、どのファイルが変更されたかだけを見るには?
ファイル名だけなら git diff --name-only、各ファイルと変更された行数を示す要約なら git diff --stat を使います。行単位の完全な diff を読む前に素早く概要を把握するのに便利です。
これをオンラインで練習できますか?
はい。ターミナルプレイグラウンドを開けば、ブラウザ内の本物のシェルで git diff を実行できます - インストール不要です。Coddy の無料のインタラクティブな Git コースでも、変更の確認方法を段階的に扱っています。
Coddy programming languages illustration

Coddy で Git を学ぼう

始める