「リポジトリって、結局バックアップのことでしょ?」——プログラミングを始めると、必ずこの疑問にぶつかります。実はMacユーザーなら、毎日使っているTime Machineを思い浮かべるだけで、GitもリポジトリもGitHubも一気に理解できます。この記事では「Git=プログラマー版Time Machine」という例えで、Mac歴の長い方にこそ刺さる説明をします。
リポジトリって「バックアップ」のこと?
先生、リポジトリって
結局バックアップの
ことですよね?
それ、半分YESで
半分NOなんです。
近い言い方をするなら、
リポジトリは
「履歴付きの作業フォルダ」
なんですよ。
履歴付き……?
普通のフォルダと
何が違うんですか?
普通のフォルダとリポジトリの違い
まずは、いつもMacのFinderで見ている「普通のフォルダ」を思い出してください。たとえば教室サイトのフォルダはこんな中身です。
教室サイト ├─ index.php ├─ style.css └─ faq.php
このフォルダは、ファイルを上書き保存したらそれで終わりです。昨日の状態は消えてしまい、もう戻れません。
一方、リポジトリは同じフォルダに「履歴」がくっついています。
教室サイト ├─ index.php ├─ style.css └─ faq.php 履歴 ├─ 6/1 ├─ 6/2 ├─ 6/3 └─ 6/4
過去の状態がすべて残っているので、いつでも昔の日付に戻れます。だから、こう整理できます。
❌ リポジトリ = バックアップ
⭕ リポジトリ = 作業フォルダ + 履歴管理
なるほど、ただの
コピーじゃなくて、
過去も全部残るんですね。
壊れても「昨日」に戻せるのがリポジトリ
たとえばClaude Codeで
修理サイトを
作っていたとします。
6/1 ヒーロー完成 6/2 CTA追加 6/3 スマホ対応 6/4 バグ発生
普通のフォルダだと、6/4で壊れた瞬間に「現在の壊れた状態」しか残りません。昨日の正常な姿はもう手元にないのです。
でもリポジトリなら、各日付がそのまま残っています。
6/1 6/2 6/3 ←正常 6/4 ←壊れた
だから「6/3へ戻す」という操作ができます。ゲームのセーブデータで例えるなら——
- バックアップ:セーブデータを1個だけコピー
- リポジトリ:レベル1・5・10・15…と全部の節目を残している
壊れても、正常だった
日に巻き戻せるって
めちゃくちゃ安心ですね!
GitはMacのTime Machineに似てる?
それって、Macの
Time Machineと
似てませんか?
そこに気づけたら
もう理解できたも
同然です。
ずばり、Gitは
「プログラマー版の
Time Machine」
と考えてください。
Macユーザー向けの説明でよくある「リポジトリ=倉庫、GitHub=倉庫の倉庫」という例えは、正直わかりにくいんですよね。Mac歴が長い方なら、Time Machineに置き換えたほうがずっとスッと入ってきます。
Time MachineとGitの違いは「保存のタイミング」
ただし、Time MachineとGitには大事な違いが1つあります。それは「誰が保存のタイミングを決めるか」です。
Time Machineは、外付けHDDをつないでおけば、1時間ごとに勝手に状態を記録してくれます。いわば自動の監視カメラです。
Time Machine(自動の監視カメラ) 10:01 勝手に記録 10:02 勝手に記録 10:03 勝手に記録
一方のGitは、自分で「ここまで完成!」というタイミングを選んで保存します。シャッターを切る記念写真のイメージです。
Git(自分で撮る記念写真) トップページ完成! パシャ 料金表完成! パシャ スマホ対応完成! パシャ
同じ「履歴を残す」でも、
自動か手動かが
違うんですね!
そうです。Gitは
意味のある節目だけを
自分の手で残せるんです。
だから役割もきれいに分かれます。Time Machineは災害対策(Mac本体が壊れても復元できる)、Gitは開発管理(作業の節目を整理して戻れる)。実際、この2つを両方使う人が多いんですよ。
- Time Machine:MacBookが壊れた → 昨日の状態へ復元
- Git:Claudeが変な修正をした → 昨日のコミットへ戻す
コミット・GitHub・Handoffを一気に整理
じゃあコミットとか
GitHubも、Time Machineで
説明できますか?
できます。全部
つながりますよ。
Macユーザーの感覚に置き換えると、こうなります。
- リポジトリ= Time Machineが有効になったフォルダ
- コミット= 復元ポイントの作成(「ここまで完成!」のシャッター)
- GitHub= 保存先を外付けHDDではなく「クラウド」にしたもの
- Handoff= デスクトップに貼る付箋(次回作業メモ)
流れにすると、普通のFinderのフォルダにGitを導入すると、Time Machine機能がついた「リポジトリ」になる、というイメージです。
Finderのフォルダ ↓ Gitを導入 リポジトリ(履歴付きフォルダ) ↓ コミット 復元ポイントを作成 ↓ GitHubへ クラウドに避難
Handoffだけは、Time Machineにはない仕組みです。「今日やったこと」「次回やること」を書いておく付箋のようなもので、作業を翌日に持ち越すときの引き継ぎメモになります。
つまり自分の作業を、
Time Machine感覚で
節目ごとに残して
クラウドにも避難できる、
ということですね!
まとめ:MacユーザーはGitを「手動のTime Machine」と覚えよう
今回のポイントを振り返ります。
- リポジトリは「バックアップ」ではなく「作業フォルダ+履歴管理」
- Gitは「プログラマー版Time Machine」、ただし保存は自分のタイミング
- コミット=復元ポイント、GitHub=クラウドの保存先、Handoff=次回メモ
Mac歴が長い方ほど、「GitってTime Machineの手動版じゃん」と気づいた瞬間に一気に腑に落ちます。倉庫の例えでつまずいていた方は、ぜひこのTime Machineの例えで覚え直してみてください。
「Claude CodeやGitを使った制作を、もっと実践的に学んでみたい」という方は、キュリオステーション荻窪店の教室でいっしょに手を動かしながら相談できます。初心者の方も大歓迎です。