【Git】git statusとgit diffで変更を確認する

Git

こんにちは、かつコーチです。

前回の記事でgit addgit commitの基本を解説しました。

今回は、コミットする前に必ず確認しておきたいgit statusgit diffの使い方を解説します。

この2つのコマンドを使いこなせるようになると、「意図しない変更を間違ってコミットしてしまう」という事故を大きく減らせます。

git status・git diffとは?

書きかけの原稿の校正記号

git statusgit diffは、どちらもリポジトリの「今の状態」を確認するためのコマンドです。

イメージとしては、書きかけの原稿に入れる校正記号を思い浮かべてください。

編集者が原稿をチェックするとき、「どのページに手が入っているか」を一覧で把握し(git statusの役割)、さらに「具体的にどの文章がどう変わったか」を1文字単位で確認します(git diffの役割)。

この2段階の確認を経てから、原稿は次の工程(コミット)に進みます。

何のために使うのか

前回の記事で「コミット前にgit statusで確認する習慣をつけましょう」と紹介しましたが、その理由は、確認をしないままコミットすると、意図しない変更まで一緒に記録してしまうリスクがあるためです。

git statusgit diffは、まさにこの「意図しない変更」に気づくためのセーフティネットの役割を果たします。

基本の使い方

git statusで変更状況を確認する

git statusを実行すると、リポジトリ内のファイルが今どんな状態にあるかが一覧表示されます。

git status

出力例は以下のようになります。

On branch main
Changes not staged for commit:
  modified:   index.html

Untracked files:
  new-file.txt

modified(変更あり・未ステージング)とUntracked files(Gitの管理対象外の新規ファイル)の違いを見分けられるようになると、状況判断がぐっとスムーズになります。

git diffで具体的な差分を確認する

git statusが「どのファイルが変わったか」を教えてくれるのに対し、git diffは「具体的に何行目がどう変わったか」を確認できます。

git diff

出力例です。

- <h1>Welcome</h1>
+ <h1>Welcome to My Site</h1>

-(赤字で表示されることが多い)が削除された行、+(緑字)が追加された行を表します。

ステージング済み(git add済み)の変更を確認したい場合は、--stagedオプションを付けます。

git diff --staged

よくあるつまずきポイント

Before/After:確認せずコミットして事故になったケース

以前、複数のファイルをまとめて編集していた際、デバッグ用に一時的に追加していたconsole.log(動作確認用のログ出力)を消し忘れたまま、git statusgit diffも見ずにコミットしてしまったことがあります。

後日、本番環境で不要なログが出力されていることに気づき、慌てて修正コミットを追加する羽目になりました。

❌ Before:変更したファイルをすぐにgit addgit commitする

✅ After:コミット前に必ずgit diffで差分を1行ずつ目視確認する

# コミット前の確認ルーティン
git status
git diff
git add .
git commit -m "コメント機能を追加"

このひと手間を習慣にしておくだけで、デバッグコードの消し忘れや、意図しない変更の混入をかなり防げます。

応用・一歩先の使い方

ファイル単位でdiffを絞り込む

変更ファイルが多いときは、確認したいファイルを指定してdiffを見ることもできます。

git diff index.html

git add -pとの合わせ技

前回紹介したgit add -p(部分的ステージング)と組み合わせると、git diffで確認した変更のうち「この部分だけをコミットしたい」という調整も可能になります。

コミット前の確認と部分的なステージングをセットで覚えておくと、より丁寧なコミット履歴を作れるようになります。

まとめ

この記事のポイント

  • git statusは変更したファイルの一覧を、git diffは具体的な差分を確認するコマンド
  • -は削除された行、+は追加された行を表す
  • コミット前に「status→diff→add→commit」の流れを習慣にすると事故を防げる

次に読むべき記事

  • git logでコミット履歴を確認する
  • .gitignoreの書き方:管理しないファイルを指定する

タグ: Git, 初心者向け, 基本操作

タイトルとURLをコピーしました