【Macユーザー向け】Gitとリポジトリは「プログラマー版Time Machine」と考えるとわかる

「リポジトリって、結局バックアップのことでしょ?」——プログラミングを始めると、必ずこの疑問にぶつかります。実はMacユーザーなら、毎日使っているTime Machineを思い浮かべるだけで、GitもリポジトリもGitHubも一気に理解できます。この記事では「Git=プログラマー版Time Machine」という例えで、Mac歴の長い方にこそ刺さる説明をします。

リポジトリって「バックアップ」のこと?

先生、リポジトリって
結局バックアップの
ことですよね?

seito
seito
ogita
ogita

それ、半分YESで
半分NOなんです。

ogita
ogita

近い言い方をするなら、
リポジトリは
「履歴付きの作業フォルダ」
なんですよ。

履歴付き……?
普通のフォルダと
何が違うんですか?

seito
seito

普通のフォルダとリポジトリの違い

まずは、いつもMacのFinderで見ている「普通のフォルダ」を思い出してください。たとえば教室サイトのフォルダはこんな中身です。

教室サイト
├─ index.php
├─ style.css
└─ faq.php

このフォルダは、ファイルを上書き保存したらそれで終わりです。昨日の状態は消えてしまい、もう戻れません。

一方、リポジトリは同じフォルダに「履歴」がくっついています。

教室サイト
├─ index.php
├─ style.css
└─ faq.php

履歴
├─ 6/1
├─ 6/2
├─ 6/3
└─ 6/4

過去の状態がすべて残っているので、いつでも昔の日付に戻れます。だから、こう整理できます。

❌ リポジトリ = バックアップ
⭕ リポジトリ = 作業フォルダ + 履歴管理

なるほど、ただの
コピーじゃなくて、
過去も全部残るんですね。

seito
seito

壊れても「昨日」に戻せるのがリポジトリ

ogita
ogita

たとえば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…と全部の節目を残している

壊れても、正常だった
日に巻き戻せるって
めちゃくちゃ安心ですね!

seito
seito

GitはMacのTime Machineに似てる?

それって、Macの
Time Machineと
似てませんか?

seito
seito
ogita
ogita

そこに気づけたら
もう理解できたも
同然です。

ogita
ogita

ずばり、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(自分で撮る記念写真)
トップページ完成!  パシャ
料金表完成!      パシャ
スマホ対応完成!   パシャ

同じ「履歴を残す」でも、
自動か手動かが
違うんですね!

seito
seito
ogita
ogita

そうです。Gitは
意味のある節目だけを
自分の手で残せるんです。

だから役割もきれいに分かれます。Time Machineは災害対策(Mac本体が壊れても復元できる)、Gitは開発管理(作業の節目を整理して戻れる)。実際、この2つを両方使う人が多いんですよ。

  • Time Machine:MacBookが壊れた → 昨日の状態へ復元
  • Git:Claudeが変な修正をした → 昨日のコミットへ戻す

コミット・GitHub・Handoffを一気に整理

じゃあコミットとか
GitHubも、Time Machineで
説明できますか?

seito
seito
ogita
ogita

できます。全部
つながりますよ。

Macユーザーの感覚に置き換えると、こうなります。

  • リポジトリ= Time Machineが有効になったフォルダ
  • コミット= 復元ポイントの作成(「ここまで完成!」のシャッター)
  • GitHub= 保存先を外付けHDDではなく「クラウド」にしたもの
  • Handoff= デスクトップに貼る付箋(次回作業メモ)

流れにすると、普通のFinderのフォルダにGitを導入すると、Time Machine機能がついた「リポジトリ」になる、というイメージです。

Finderのフォルダ
   ↓ Gitを導入
リポジトリ(履歴付きフォルダ)
   ↓ コミット
復元ポイントを作成
   ↓ GitHubへ
クラウドに避難

Handoffだけは、Time Machineにはない仕組みです。「今日やったこと」「次回やること」を書いておく付箋のようなもので、作業を翌日に持ち越すときの引き継ぎメモになります。

つまり自分の作業を、
Time Machine感覚で
節目ごとに残して
クラウドにも避難できる、
ということですね!

seito
seito

まとめ:MacユーザーはGitを「手動のTime Machine」と覚えよう

今回のポイントを振り返ります。

  • リポジトリは「バックアップ」ではなく「作業フォルダ+履歴管理」
  • Gitは「プログラマー版Time Machine」、ただし保存は自分のタイミング
  • コミット=復元ポイント、GitHub=クラウドの保存先、Handoff=次回メモ

Mac歴が長い方ほど、「GitってTime Machineの手動版じゃん」と気づいた瞬間に一気に腑に落ちます。倉庫の例えでつまずいていた方は、ぜひこのTime Machineの例えで覚え直してみてください。

「Claude CodeやGitを使った制作を、もっと実践的に学んでみたい」という方は、キュリオステーション荻窪店の教室でいっしょに手を動かしながら相談できます。初心者の方も大歓迎です。