概要
リポジトリ(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などのサーバー上 |
| アクセス | 自分だけ | チームメンバー全員 |
| ネット接続 | 不要 | 必要 |
| バックアップ | ❌ パソコン壊れたら終わり | ✅ サーバーに保存されている |
| 主な操作 | コミット(変更を記録) | プッシュ(送信)、プル(受信) |
流れ:
- ローカルリポジトリで作業する
- 変更をコミット(記録)する
- リモートリポジトリにプッシュ(送信)する
- 他の人がプル(受信)して、同じ状態になる
GitHubでリポジトリを作る方法
GitHubでリポジトリを作るのは簡単です。 詳しい手順はGitHub公式ドキュメントでも確認できます:
- GitHubにログイン
github.comにアクセス - 「New repository」をクリック
右上の「+」ボタンから「New repository」を選択 - リポジトリ名を入力
例:my-first-website - Public / Private を選択
Public = 誰でも見れる(オープンソース)
Private = 自分だけ見れる - 「Create repository」をクリック
これでリポジトリが完成!
ポイント
「Initialize this repository with a README」にチェックを入れると、 最初からREADME.mdファイルが作られて便利です。
リポジトリの構造
リポジトリの中身はこんな感じです:
my-website/
├── .git/ # ← Git管理用フォルダ(変更履歴がここに記録される)
├── index.html # HTMLファイル
├── style.css # CSSファイル
├── script.js # JavaScriptファイル
├── images/ # 画像フォルダ
│ └── logo.png
└── README.md # プロジェクト説明ファイル.gitフォルダが重要です。 ここに全ての変更履歴が記録されています。 このフォルダがあることで、普通のフォルダが「リポジトリ」になります。
リポジトリでできること
- 変更履歴の確認: いつ、誰が、何を変更したかが一目でわかる
- 過去の状態に戻す: 「昨日の状態に戻したい」が簡単にできる
- ブランチで並行開発: 「新機能」「バグ修正」を同時進行できる
- チームでの共同作業: 複数人で同じプロジェクトを編集できる
- Issue(課題管理): 「ここバグってる」「この機能追加したい」をメモできる
- プルリクエスト: 「この変更を反映してください」とレビュー依頼できる
有名なリポジトリの例
GitHubには、世界中の有名なプロジェクトのリポジトリがあります:
- React:facebook/react
Facebookが開発したJavaScriptライブラリ(⭐ 220,000以上) - TensorFlow:tensorflow/tensorflow
Googleの機械学習ライブラリ(⭐ 180,000以上) - Visual Studio Code:microsoft/vscode
Microsoftのエディタ(⭐ 160,000以上)
これらは全て「オープンソース」で、誰でもコードを見たり、改善提案したりできます。
リポジトリの命名ルール
リポジトリ名は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というファイルを必ず作りましょう。
README.mdは「このプロジェクトの説明書」です。 GitHubのリポジトリページを開くと、最初に表示されます。
書くべき内容:
- プロジェクト名
- 何をするプロジェクトか
- 使い方・インストール方法
- 技術スタック(使っている言語やライブラリ)
- ライセンス
# My Portfolio
個人ポートフォリオサイトです。
## 使用技術
- Next.js 15
- TypeScript
- Tailwind CSS
## インストール
```bash
npm install
npm run dev
```
## ライセンス
MIT