はじめに
Git をイメージで理解する
リポジトリ、ステージング、コミット、ブランチ — Git の基本概念を日常の例えで直感的に理解する
Git の 3 つのエリア — 作業場・準備室・保管庫
Git を使うとき、ファイルは常に 3 つのエリアのどこかにいます。
料理に例えると分かりやすくなります。
作業ディレクトリ(Working Directory / ワーキングディレクトリ)
キッチンの調理台。食材を切ったり炒めたりする場所。ファイルを自由に編集できるエリアです。
ステージングエリア(Index / インデックス)
盛り付け皿。完成した料理をお皿に乗せる段階。
git addで「これを記録する」とマークしたファイルが並びます。リポジトリ(Repository / リポジトリ)
レシピ帳。盛り付けた料理を写真に撮って保存するイメージ。
git commitでスナップショットとして永久に記録されます。
この 3 段階があるおかげで、「どの変更を記録するか」を自分で選べます。
git add と git commit — 選んで、記録する
実際の流れはシンプルです。
- ファイルを編集する(作業ディレクトリで作業)
git add ファイル名で「これを記録したい」とステージに上げるgit commit -m "メッセージ"でスナップショットを保存する
なぜ一発で保存しないのか? それは、10 個のファイルを変更しても「この 3 つだけ先に記録したい」 という場面があるからです。
ステージングエリアがあることで、変更を小分けにして意味のある単位でコミットできます。
コミット — セーブポイント
コミットはゲームのセーブポイントです。
- いつでも過去のセーブに戻れる
- 各セーブには「いつ・誰が・何をしたか」のメモがつく
- セーブは積み重なって、一本の履歴(タイムライン)になる
コミットのたびに Git はプロジェクト全体のスナップショットを記録します。
差分だけでなく「その時点のプロジェクトの完全な状態」が保存されるので、どのコミットにも安全に戻れます。
ブランチ — 並行世界
ブランチは並行世界のようなものです。
- メインの世界(
mainブランチ)はそのまま - 新しいブランチを作ると、そこから別の世界が分岐する
- 別の世界で好きなだけ実験できる。失敗しても元の世界には影響しない
- うまくいったら元の世界に合流(マージ)する
例えば「ログイン機能を試作したい」とき、feature/login ブランチを作れば、本番コードを壊す心配なく自由に開発できます。
リモートとローカル — 自分の机と共有棚
全体の流れをまとめると
| 操作 | イメージ | コマンド |
|---|---|---|
| ファイルを編集 | キッチンで調理 | (エディタで作業) |
| 変更をステージに上げる | お皿に盛り付け | git add |
| スナップショットを保存 | レシピ帳に記録 | git commit |
| 共有棚に置く | チームに共有 | git push |
| 共有棚から取得 | 最新を取り込む | git pull |
| 並行世界で実験 | 安全に試作 | git branch / git switch |
この流れが Git の基本です。
次はインストールして実際に手を動かしてみましょう。
Git Ready