Gitの3つの場所:作業ツリー・ステージ・リポジトリ

入門 | 9分 で読める | 2026.06.18

公式ドキュメント

Gitを使い始めると、git addgit commitgit status の意味が混ざりやすいです。原因の多くは、Gitの中にある3つの場所を区別できていないことです。

一言でいうと

Gitでは、変更は「作業ツリー」から「ステージ」へ移り、最後に「リポジトリ」へ記録されます。

3つの場所

場所役割
作業ツリー実際にファイルを編集する場所
ステージングエリア次のコミットに入れる変更を準備する場所
リポジトリコミット履歴を保存する場所

この3つを理解すると、git status の表示がかなり読みやすくなります。

作業ツリー

作業ツリーは、普段エディタで開いて編集しているファイル群です。

たとえば、README.md を編集した直後、その変更はまだ履歴には記録されていません。作業ツリーに変更があるだけです。

git status

ここで modified のように表示されるファイルは、作業ツリーで変更されたファイルです。

ステージングエリア

ステージングエリアは、次のコミットに入れる変更を選ぶ場所です。

git add README.md

git add を実行すると、作業ツリーの変更がステージに載ります。

git addは「保存」ではなく、「次のcommitに含める候補へ入れる」操作です。

リポジトリ

リポジトリは、コミット履歴を保存する場所です。

git commit -m "docs: update README"

git commit を実行すると、ステージングエリアにある変更が履歴として記録されます。

流れで見る

作業ツリー
  ↓ git add
ステージングエリア
  ↓ git commit
リポジトリ

この流れを覚えると、Git操作の多くが整理できます。

よくある誤解

誤解実際
git add で履歴に保存される履歴になるのは git commit です
git commit は全変更を記録するステージされた変更だけを記録します
git status はエラー表示現在地を教える確認コマンドです
git push はcommitと同じcommitをリモートへ送る操作です

まとめ

Gitには、作業ツリー、ステージングエリア、リポジトリという3つの場所があります。編集しただけでは履歴にならず、git add でステージし、git commit でリポジトリに記録します。迷ったら、まず git status で今どの場所に変更があるか確認します。

参考リソース

← 一覧に戻る
PR
PR
PR
PR