LESSON 30分

リモートリポジトリとは

ストーリー

「コミットができるようになったね。次はリモートリポジトリを使ってみよう」

「リモートリポジトリ?ローカルと違うんですか?」

「うん。ローカルは自分のPCだけだけど、リモートはインターネット上にあるんだ。 チームで共有したり、バックアップにもなるよ」


ローカルとリモートの違い

ローカルリポジトリ

  • 自分のPCの中にある
  • 自分だけがアクセスできる
  • PCが壊れたらデータも消える

リモートリポジトリ

  • インターネット上のサーバーにある
  • URLを知っていればどこからでもアクセスできる
  • PCが壊れてもデータは残る

図で理解しよう

┌─────────────────┐                    ┌─────────────────┐
│  あなたのPC      │                    │    サーバー      │
│                 │      インターネット   │   (GitHub等)    │
│ ┌─────────────┐ │   ←───────────→   │ ┌─────────────┐ │
│ │ローカル     │ │                    │ │リモート      │ │
│ │リポジトリ   │ │                    │ │リポジトリ   │ │
│ └─────────────┘ │                    │ └─────────────┘ │
└─────────────────┘                    └─────────────────┘

なぜリモートが必要なのか

1. バックアップ

自分のPC    →    GitHub
(壊れても)        (データは残る)

PCが壊れても、盗まれても、リモートにデータがあれば復旧できます。

2. チームでの共有

田中さん    →    GitHub    ←    佐藤さん
  push           共有           pull

チームメンバー全員が同じコードにアクセスできます。

3. どこからでもアクセス

会社のPC    →    GitHub    ←    自宅のPC
            どこからでも同じコード

場所を選ばず作業を継続できます。

4. 履歴の保存

リモートにpushしておけば、ローカルでミスしても戻れます。


代表的なリモートサービス

サービス特徴料金
GitHub最も人気、オープンソースの中心基本無料
GitLabCI/CD機能が充実基本無料
BitbucketAtlassian製品との連携基本無料
Azure DevOpsMicrosoft製品との連携基本無料

今回はGitHubを使います。最も広く使われているサービスです。


GitHubの基本用語

用語意味
Repositoryプロジェクトの保管場所
Pushローカル → リモートにアップロード
Pullリモート → ローカルにダウンロード
Cloneリモートをコピーしてローカルに作成
Fork他人のリポジトリを自分のアカウントにコピー

pushとpullのイメージ

Push(アップロード)

ローカル                     リモート (GitHub)
┌─────────┐                  ┌─────────┐
│ commit  │ ───git push──→  │ commit  │
│ commit  │                  │ commit  │
│ commit  │                  │ commit  │
└─────────┘                  └─────────┘

自分の変更をリモートに送信します。

Pull(ダウンロード)

ローカル                     リモート (GitHub)
┌─────────┐                  ┌─────────┐
│ commit  │ ←──git pull───  │ commit  │
│ commit  │                  │ commit  │
│ commit  │                  │ commit  │
│ (新)    │                  │ (新)    │
└─────────┘                  └─────────┘

他の人の変更をリモートから受信します。


一般的なワークフロー

1. 朝: git pull(最新を取得)
    ↓
2. 作業: コードを書く
    ↓
3. 保存: git add → git commit
    ↓
4. 共有: git push(変更を送信)
    ↓
5. 繰り返し...

リモートの仕組み

originとは

リモートリポジトリには名前をつけます。デフォルトは origin です。

bash
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分