リポジトリ(Repository)とは、プログラムのソースコードやファイルを保存・管理する「保管庫」のことです。
例えば、あなたがWebサイトを作っているとします。 HTMLファイル、CSSファイル、画像ファイルなど、たくさんのファイルがあります。 これらをまとめて管理する場所がリポジトリです。
リポジトリは単なる「フォルダ」とは違います。「誰が」「いつ」「何を変更したか」という履歴を全て記録してくれるので、 間違えて削除しても過去の状態に戻せます。
このサイトもGitHubのリポジトリで管理されています
全ての変更履歴が記録され、いつでも過去の状態に戻せます。
リポジトリ・ディレクトリ・ファイルの違い
まず、基本的な用語を整理しましょう:
| 用語 | 意味 | 例え |
|---|---|---|
| ファイル | 1つの書類・データ | 📄 ノートの1ページ |
| ディレクトリ (フォルダ) | ファイルを入れる箱 | 📁 クリアファイル |
| リポジトリ | 「変更履歴付き」の箱 | 📚 タイムマシン付きの本棚 |
具体例で理解しよう:
my-website/ ← これが「リポジトリ」(変更履歴がある本棚)
├── images/ ← これが「ディレクトリ(フォルダ)」(クリアファイル)
│ ├── logo.png ← これが「ファイル」(ノートの1ページ)
│ └── icon.png ← これが「ファイル」
├── index.html ← これが「ファイル」
└── style.css ← これが「ファイル」- ファイル:
logo.png、index.htmlなど1つ1つのデータ - ディレクトリ:
images/のようにファイルをまとめる箱(フォルダと同じ意味) - リポジトリ:
my-website/全体。「いつ・誰が・何を変更したか」という履歴が記録される
リポジトリとフォルダの違い
「リポジトリってフォルダと何が違うの?」という疑問はよくあります。
| 機能 | 普通のフォルダ | リポジトリ |
|---|---|---|
| ファイル保存 | ✅ できる | ✅ できる |
| 変更履歴 | ❌ 記録されない | ✅ 全て記録される |
| 過去に戻す | ❌ できない | ✅ いつでも戻せる |
| 複数人で作業 | ⚠️ 上書きされる | ✅ 競合を検知・マージ |
| 誰が変更したか | ❌ わからない | ✅ 記録される |
| ブランチ | ❌ ない | ✅ 並行開発できる |
例え話:
普通のフォルダは「ノート」。書いた内容は残るけど、消したら終わり。
リポジトリは「タイムマシン付きノート」。いつでも過去のページに戻れる。
ローカルリポジトリとリモートリポジトリ
リポジトリには2種類あります:
1. ローカルリポジトリ
自分のパソコンの中にあるリポジトリです。
普段の作業はここで行います。
2. リモートリポジトリ
GitHubなどのサーバー上にあるリポジトリです。
複数人で共有したり、バックアップとして使います。
| 項目 | ローカルリポジトリ | リモートリポジトリ |
|---|---|---|
| 場所 | 自分のパソコン内 | GitHubなどのサーバー上 |
| アクセス | 自分だけ | チームメンバー全員 |
| ネット接続 | 不要 | 必要 |
| バックアップ | ❌ パソコン壊れたら終わり | ✅ サーバーに保存されている |
| 主な操作 | コミット(変更を記録) | プッシュ(送信)、プル(受信) |
流れ:
- ローカルリポジトリで作業する
- 変更をコミット(記録)する
- リモートリポジトリにプッシュ(送信)する
- 他の人がプル(受信)して、同じ状態になる
Gitとリポジトリ
リポジトリは、Gitというバージョン管理システムで管理するためのフォルダです。 普通のフォルダに git init コマンドを実行すると、.git という隠しフォルダが作られ、そこからリポジトリになります。
my-website/
├── .git/ ← これがあるとリポジトリ(Git管理中)
├── index.html
├── style.css
└── README.md.git フォルダの中に、「誰が」「いつ」「何を変更したか」という履歴が全て記録されます。 このフォルダを削除すると、ただのフォルダに戻ります。
作ったリポジトリは GitHub にアップロード(push)することで、チームで共有したりバックアップとして使えます。
リポジトリの命名ルール
リポジトリ名はURLに使われるので、以下のルールを守りましょう:
| ルール | 良い例 | 悪い例 |
|---|---|---|
| 小文字を使う | ✅ my-portfolio | ❌ My-Portfolio |
| ハイフンで区切る | ✅ todo-app | ❌ todo_app、todoApp |
| スペース使わない | ✅ personal-website | ❌ personal website |
| 意味のある名前 | ✅ blog-template | ❌ project1、test |
理由: GitHubのURLは https://github.com/username/repository-name という形式なので、 スペースや大文字は避けるのが一般的です。
README.md = リポジトリの説明書
README.mdは、そのリポジトリの「説明書」です。GitHub でリポジトリを開くと最初に表示されます。
書く内容は人それぞれですが、こんな例があります:
# 朝ごはん記録アプリ 🍳
毎朝の朝ごはんを記録するアプリです。
写真を撮って投稿すると、カロリーを自動計算してくれます。
## 使い方
1. アプリを開く
2. 写真を撮る
3. 「記録する」をタップ
## 使用技術
- React Native
- OpenAI API(カロリー解析) ポイント
README.mdはMarkdownという記法で書きます。#で見出し、-で箇条書きが作れます。