ストーリー
ローカルとリモートの違い
ローカルリポジトリ
- 自分のPCの中にある
- 自分だけがアクセスできる
- PCが壊れたらデータも消える
リモートリポジトリ
- インターネット上のサーバーにある
- URLを知っていればどこからでもアクセスできる
- PCが壊れてもデータは残る
図で理解しよう
graph LR
subgraph YourPC["あなたのPC"]
Local["ローカル<br/>リポジトリ"]
end
subgraph Server["サーバー(GitHub等)"]
Remote["リモート<br/>リポジトリ"]
end
Local <-->|"インターネット"| Remote
style YourPC fill:#d1fae5,stroke:#059669,stroke-width:2px,color:#064e3b
style Server fill:#dbeafe,stroke:#2563eb,stroke-width:2px,color:#1e40af
style Local fill:#f0fdf4,stroke:#16a34a,color:#14532d
style Remote fill:#e0e7ff,stroke:#4f46e5,color:#312e81
なぜリモートが必要なのか
1. バックアップ
自分のPC → GitHub
(壊れても) (データは残る)
PCが壊れても、盗まれても、リモートにデータがあれば復旧できます。
2. チームでの共有
田中さん → GitHub ← 佐藤さん
push 共有 pull
チームメンバー全員が同じコードにアクセスできます。
3. どこからでもアクセス
会社のPC → GitHub ← 自宅のPC
どこからでも同じコード
場所を選ばず作業を継続できます。
4. 履歴の保存
リモートにpushしておけば、ローカルでミスしても戻れます。
代表的なリモートサービス
| サービス | 特徴 | 料金 |
|---|---|---|
| GitHub | 最も人気、オープンソースの中心 | 基本無料 |
| GitLab | CI/CD機能が充実 | 基本無料 |
| Bitbucket | Atlassian製品との連携 | 基本無料 |
| Azure DevOps | Microsoft製品との連携 | 基本無料 |
今回はGitHubを使います。最も広く使われているサービスです。
GitHubの基本用語
| 用語 | 意味 |
|---|---|
| Repository | プロジェクトの保管場所 |
| Push | ローカル → リモートにアップロード |
| Pull | リモート → ローカルにダウンロード |
| Clone | リモートをコピーしてローカルに作成 |
| Fork | 他人のリポジトリを自分のアカウントにコピー |
pushとpullのイメージ
Push(アップロード)
graph LR
subgraph LocalPush["ローカル"]
L1["commit"]
L2["commit"]
L3["commit"]
end
subgraph RemotePush["リモート (GitHub)"]
R1["commit"]
R2["commit"]
R3["commit"]
end
LocalPush -->|"git push"| RemotePush
style LocalPush fill:#d1fae5,stroke:#059669,stroke-width:2px,color:#064e3b
style RemotePush fill:#dbeafe,stroke:#2563eb,stroke-width:2px,color:#1e40af
自分の変更をリモートに送信します。
Pull(ダウンロード)
graph RL
subgraph RemotePull["リモート (GitHub)"]
R4["commit"]
R5["commit"]
R6["commit"]
R7["(新)"]
end
subgraph LocalPull["ローカル"]
L4["commit"]
L5["commit"]
L6["commit"]
L7["(新)"]
end
RemotePull -->|"git pull"| LocalPull
style LocalPull fill:#d1fae5,stroke:#059669,stroke-width:2px,color:#064e3b
style RemotePull fill:#dbeafe,stroke:#2563eb,stroke-width:2px,color:#1e40af
他の人の変更をリモートから受信します。
一般的なワークフロー
1. 朝: git pull(最新を取得)
↓
2. 作業: コードを書く
↓
3. 保存: git add → git commit
↓
4. 共有: git push(変更を送信)
↓
5. 繰り返し...
リモートの仕組み
originとは
リモートリポジトリには名前をつけます。デフォルトは origin です。
git remote add origin https://github.com/username/repo.git
origin= リモートの名前(慣習的にこの名前を使う)- URL = リモートリポジトリの場所
複数のリモート(応用)
実は複数のリモートを登録できます:
origin → メインのリモート(GitHub)
backup → バックアップ用(別のサービス)
今は「origin」だけ覚えておけばOKです。
セキュリティについて
公開(Public)リポジトリ
- 誰でも見れる
- 誰でもクローン(コピー)できる
- オープンソースプロジェクトに使う
非公開(Private)リポジトリ
- 招待された人だけがアクセスできる
- 企業のプロジェクトに使う
- GitHubは無料で無制限のプライベートリポジトリを作成可能
よくある質問
Q: リモートにpushしないとどうなる?
A: ローカルにだけ変更が残ります。他の人には共有されず、バックアップにもなりません。
Q: pushを忘れて帰宅したら?
A: 自宅からその変更にアクセスできません。pushは忘れずに!
Q: リモートが消えたらどうなる?
A: ローカルにコードがあれば復旧できます。逆も同様です。
まとめ
| ポイント | 内容 |
|---|---|
| ローカルリポジトリ | 自分のPCにある |
| リモートリポジトリ | インターネット上にある |
| Push | ローカル → リモート |
| Pull | リモート → ローカル |
| 代表的サービス | GitHub, GitLab, Bitbucket |
チェックリスト
- ローカルとリモートの違いを説明できる
- なぜリモートが必要か説明できる
- PushとPullの違いを説明できる
次のステップへ
リモートリポジトリの概念は理解できましたか?
次のセクションでは、実際にGitHubアカウントを作成します。すでにアカウントを持っている場合は、次のセクションを読み飛ばしてもOKです。
推定読了時間: 30分