はじめに

Git をイメージで理解する

リポジトリ、ステージング、コミット、ブランチ — Git の基本概念を日常の例えで直感的に理解する

Git をイメージで理解する diagram

Git の 3 つのエリア — 作業場・準備室・保管庫

Git を使うとき、ファイルは常に 3 つのエリアのどこかにいます。

料理に例えると分かりやすくなります。

  • 作業ディレクトリ(Working Directory / ワーキングディレクトリ)

    キッチンの調理台。食材を切ったり炒めたりする場所。ファイルを自由に編集できるエリアです。

  • ステージングエリア(Index / インデックス)

    盛り付け皿。完成した料理をお皿に乗せる段階。git add で「これを記録する」とマークしたファイルが並びます。

  • リポジトリ(Repository / リポジトリ)

    レシピ帳。盛り付けた料理を写真に撮って保存するイメージ。git commit でスナップショットとして永久に記録されます。

この 3 段階があるおかげで、「どの変更を記録するか」を自分で選べます。

git add と git commit — 選んで、記録する

実際の流れはシンプルです。

  1. ファイルを編集する(作業ディレクトリで作業)
  2. git add ファイル名 で「これを記録したい」とステージに上げる
  3. git commit -m "メッセージ" でスナップショットを保存する

なぜ一発で保存しないのか? それは、10 個のファイルを変更しても「この 3 つだけ先に記録したい」 という場面があるからです。

ステージングエリアがあることで、変更を小分けにして意味のある単位でコミットできます。

コミット — セーブポイント

コミットはゲームのセーブポイントです。

  • いつでも過去のセーブに戻れる
  • 各セーブには「いつ・誰が・何をしたか」のメモがつく
  • セーブは積み重なって、一本の履歴(タイムライン)になる

コミットのたびに Git はプロジェクト全体のスナップショットを記録します。

差分だけでなく「その時点のプロジェクトの完全な状態」が保存されるので、どのコミットにも安全に戻れます。

ブランチ — 並行世界

ブランチは並行世界のようなものです。

  • メインの世界(main ブランチ)はそのまま
  • 新しいブランチを作ると、そこから別の世界が分岐する
  • 別の世界で好きなだけ実験できる。失敗しても元の世界には影響しない
  • うまくいったら元の世界に合流(マージ)する

例えば「ログイン機能を試作したい」とき、feature/login ブランチを作れば、本番コードを壊す心配なく自由に開発できます。

リモートとローカル — 自分の机と共有棚

Git には「自分だけの場所」と「みんなで共有する場所」があります。

  • ローカルリポジトリ — 自分の PC にある作業コピー。自分の机の引き出し
  • リモートリポジトリ — GitHub 等のサーバーにあるコピー。チームの共有棚

基本的な流れ:

  • git push — 自分の机から共有棚に成果物を置く
  • git pull — 共有棚から最新の成果物を自分の机に持ってくる

ローカルで好きなだけコミットして、まとまったら push する。

他の人の変更が必要になったら pull する。

この繰り返しでチーム開発が進みます。

全体の流れをまとめると

操作 イメージ コマンド
ファイルを編集 キッチンで調理 (エディタで作業)
変更をステージに上げる お皿に盛り付け git add
スナップショットを保存 レシピ帳に記録 git commit
共有棚に置く チームに共有 git push
共有棚から取得 最新を取り込む git pull
並行世界で実験 安全に試作 git branch / git switch

この流れが Git の基本です。

次はインストールして実際に手を動かしてみましょう。

関連コマンド