【りぽじとりー】

リポジトリ とは?

💡 コードとその歴史を丸ごと保管する「タイムカプセル」
📌 このページのポイント
リポジトリ(コードの変更履歴) commit a1b2c3 初回追加 commit d4e5f6 バグ修正 commit g7h8i9 機能追加 commit j0k1l2 最新版 main commit m3n4o5 新機能開発中 feature/new コミットが積み重なり、ブランチで並行開発できる
リポジトリにはコミット(スナップショット)が時系列で積み重なり、ブランチで複数の変更を並行して進められる
ひよこ ひよこ

リポジトリって何?

ペンギン先生 ペンギン先生

コードとその変更履歴を全部まとめて保管しておく場所だよ。「コードのタイムマシン」みたいなイメージで、過去のどの時点にも戻れるんだ。

ひよこ ひよこ

変更履歴ってどういう意味?

ペンギン先生 ペンギン先生

たとえば「昨日バグを直した」「先週に新機能を追加した」「1か月前に別の書き方を試した」——そういう変更が全部「コミット」という単位で記録されているよ。git logで見ると、タイムラインみたいに表示されるんだ。

ひよこ ひよこ

GitHubとリポジトリって違うもの?

ペンギン先生 ペンギン先生

GitHubはリポジトリを置いておくためのクラウドサービスで、リポジトリ自体はどこにでも置けるよ。自分のパソコンの中にあるのが「ローカルリポジトリ」、GitHubなどに置いているのが「リモートリポジトリ」って呼ぶんだ。

ひよこ ひよこ

リポジトリの中って実際どういう構造になってるの?

ペンギン先生 ペンギン先生

実は知ってるエンジニアが少ない話なんだけど、.gitフォルダの中にはblob(ファイルの中身)・tree(ディレクトリ構造)・commit(スナップショット)・tag(タグ情報)という4種類のオブジェクトが積み重なっていて、git logで見えているのはcommitオブジェクトの連鎖なんだ。「なぜgitはこんなに早く差分を出せるのか」「git rebaseって何をしているのか」もこの内部構造を知ると腑に落ちるんだけど、これをちゃんと説明できるエンジニアは意外と少ないよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「リポジトリ」って出てきたら「コードとその変更履歴をまとめて保管している場所のことだな」と思えればだいたいOK!
📖 おまけ:英語の意味
「repository」 = 貯蔵庫・保管庫
💬 もともとは「倉庫」や「情報の収蔵庫」という意味。コードを安全に保管するための倉庫をイメージしよう
← 用語集にもどる