Gitの変更状態を確認する方法まとめ|status・diff・logで作業状況を把握する

Gitで変更状態を確認するための基本操作を表したイメージ
Gitの変更状態を確認するための基本的な考え方と操作を整理

Gitを使った開発では、現在どのような変更が行われているのかを正確に把握することが重要です。
変更状態を正しく理解できていないと、意図しないコミットや修正漏れにつながる可能性があります。

本記事では、Gitで変更状態を確認する代表的な方法を、基礎から段階的に整理します。
初心者でも全体像がつかめるよう、コマンドの役割と使い分けを丁寧に解説します。

Gitにおける「変更状態」とは

Gitでは、ファイルの状態は大きく次の3段階で管理されています。

  • 作業ツリー(Working Tree):実際に編集しているファイル
  • ステージングエリア(Index):コミット予定として登録された変更
  • リポジトリ(Repository):コミットとして履歴に保存された状態

どの段階にどの変更があるのかを把握することが、「変更状態を確認する」という行為の本質です。

※ ステージングエリアの仕組みについては、
Gitのステージングエリアとは?役割と使い方を解説」もあわせて参照すると理解が深まります。

git status|変更状態を一覧で確認する

現在の作業状況を確認する基本コマンド

git status

git status は、最初に必ず使うべき確認コマンドです。
以下の情報をまとめて確認できます。

  • 変更されたファイルがあるか
  • ステージング済みか、未ステージングか
  • 未追跡(untracked)のファイルがあるか
  • 現在のブランチ名

よく表示される状態

  • modified:追跡中のファイルが変更されている
  • new file:新規作成され、ステージングされている
  • untracked files:Git管理外の新規ファイル

Git操作に迷った場合は、まず git status を実行する習慣をつけると安全です。

git diff|変更内容の差分を確認する

作業ツリーとステージングエリアの差分

git diff

このコマンドでは、まだステージングされていない変更内容を確認できます。
どの行が追加・削除されたかを、差分形式で把握できます。

ステージング済み変更の差分

git diff --staged

または

git diff --cached

ステージングエリアに登録された変更内容を確認できます。
コミット前の最終確認として非常に重要です。

git diff HEAD|前回コミットとの差分を確認する

git diff HEAD

現在の作業内容と、直近のコミットとの差分をまとめて確認できます。
ステージング・未ステージングを問わず、全体の変更量を把握したい場合に有効です。

git log|コミット履歴から変更状況を追う

基本的な履歴確認

git log

過去のコミット履歴を時系列で確認できます。
コミットメッセージ、日時、ハッシュ値などが表示されます。

差分付きで履歴を見る

git log -p

各コミットで、どのような変更が行われたのかを差分付きで確認できます。

履歴の読み方については、
Gitのコミットとは何か|履歴が残る仕組みを理解する」も参考になります。

git show|特定コミットの変更内容を確認する

git show <コミットID>

指定したコミット1件の変更内容を詳しく確認できます。
不具合調査や、過去の修正内容を振り返る際に役立ちます。

GUIツールで変更状態を確認する方法

コマンド操作に加え、GUIツールを併用するのも有効です。

  • VS Codeのソース管理ビュー
  • GitHub Desktop
  • SourceTree など

ファイル単位・行単位で視覚的に確認できるため、
特にWeb制作では作業効率が向上します。

なお、VS Codeで表示される MU などの記号については、
VS Codeでファイル名横に表示されるMの意味とは?」で詳しく解説されています。

変更状態を確認する際の基本フロー

変更確認の基本的な流れは、次のようになります。

  1. git status で全体状況を把握
  2. git diff で変更内容を確認
  3. git add で必要な変更をステージング
  4. git diff --staged で最終確認
  5. git commit を実行

この流れを習慣化することで、
ミスの少ないGit運用が可能になります。

まとめ

Gitの変更状態を正しく確認できるようになると、

  • 不要な変更の混入を防げる
  • コミット履歴が読みやすくなる
  • トラブル時の原因特定が容易になる

といったメリットがあります。

git status を軸に、difflog を使い分けながら、
安全で再現性の高いGit運用を身につけていきましょう。

関連記事