メインコンテンツへスキップ
レッスン 10 / 15推定時間: 20

リモートリポジトリとの連携

USBメモリやメールでの共有はもう終わり!インターネット上の中央管理場所を作りましょう

このレッスンの学習目標

  • USBメモリやメール共有の問題を理解する
  • ローカルとリモートの関係を理解する
  • リモートリポジトリを作成して連携できる

困りごと:ファイル共有が大変

😩 こんな経験ありませんか?

  • 「USBメモリを忘れて作業できない...」
  • 「メールでファイルを送ったけど、どれが最新版?」
  • 「チームメンバーが同じファイルを編集して、マージが地獄」
  • 「家のPCと会社のPCで同期がとれない」

解決策:リモートリポジトリで中央管理!

リモートリポジトリとは?

イメージ:クラウド上の「中央倉庫」

ローカルPC(1)      リモート(GitHub)      ローカルPC(2)
   家のPC        ←→    中央倉庫     ←→     会社のPC
                      (常に最新)
  • ローカル:あなたのPC上のリポジトリ
  • リモート:インターネット上のリポジトリ

リモートリポジトリの作成

方法1:GitHubで新規作成してからクローン

  1. GitHubにログイン
  2. 右上の「+」→「New repository」
  3. 設定:
    • Repository name: my-first-repo
    • Description: 「初めてのGitリポジトリ」
    • Public/Private: 好きな方を選択
    • 他はデフォルトのまま
  4. 「Create repository」をクリック

作成後、以下のようなコマンドが表示されます:

# GitHubからクローン(SSH接続)
git clone git@github.com:your-username/my-first-repo.git
cd my-first-repo

# ファイルを作成
echo "# My First Repository" > README.md
git add README.md
git commit -m "初回コミット"

方法2:既存のローカルリポジトリをGitHubに接続

# 既存のプロジェクトがある場合
mkdir existing-project
cd existing-project
git init

# いくつかファイルを作成
echo "# 既存プロジェクト" > README.md
echo "console.log('Hello');" > app.js

git add .
git commit -m "既存プロジェクトの初期化"

GitHubで空のリポジトリを作成後:

# リモートリポジトリを追加
git remote add origin git@github.com:your-username/existing-project.git

# リモートの確認
git remote -v

remoteコマンドの理解

リモートの一覧表示

# シンプルな一覧
git remote

# 詳細表示(URL付き)
git remote -v

通常、originという名前でメインのリモートを管理します。

リモートの追加・変更・削除

# リモートを追加
git remote add origin git@github.com:username/repo.git

# URLを変更
git remote set-url origin git@github.com:username/new-repo.git

# リモートを削除
git remote remove origin

# リモートの名前を変更
git remote rename origin upstream

ブランチとリモートの関係

ローカルとリモートのブランチ

ローカル              リモート(origin)
 main          ←→    origin/main
 feature       ←→    origin/feature
# すべてのブランチを表示(リモート含む)
git branch -a

# リモートブランチのみ表示
git branch -r

HTTPS vs SSHの選択

HTTPS URL

https://github.com/username/repository.git
  • パスワード認証(またはトークン)
  • ファイアウォール内でもOK
  • 毎回認証が必要

SSH URL

git@github.com:username/repository.git
  • SSH鍵認証
  • 一度設定すれば自動
  • より安全

推奨:SSH(前のレッスンで設定済み)

トラブルシューティング

エラー:"fatal: not a git repository"

# Gitリポジトリか確認
git status

# リポジトリでなければ初期化
git init

エラー:"Permission denied (publickey)"

# SSH接続をテスト
ssh -T git@github.com

# SSH鍵が登録されているか確認
ssh-add -l

エラー:"remote origin already exists"

# 既存のリモートを確認
git remote -v

# 必要なら削除して再追加
git remote remove origin
git remote add origin git@github.com:username/new-repo.git

ベストプラクティス

1. わかりやすいリポジトリ名

良い例:
- todo-app
- personal-website
- learning-git

避けるべき例:
- test
- repo1
- asdfghj

2. README.mdを必ず作成

cat > README.md << 'EOF'
# プロジェクト名

このプロジェクトの説明

## 使い方

1. クローンする
2. 実行する

## ライセンス

MIT
EOF

3. .gitignoreを設定

# 言語やフレームワークに応じた.gitignore
cat > .gitignore << 'EOF'
# OS生成ファイル
.DS_Store
Thumbs.db

# エディタ
.vscode/
.idea/

# 依存関係
node_modules/

# 環境設定
.env
EOF

まとめ

リモートリポジトリとの連携ができました!

  • ✅ USBメモリやメールが不要に
  • ✅ インターネット上に中央管理場所を作成
  • ✅ どこからでもアクセス可能
  • ✅ チームでの共有が簡単に

次のレッスンでは、実際にコードをプッシュ・プルして同期する方法を学びます!

【実践演習】リモートリポジトリの作成と連携

実際にローカルリポジトリを作成して、GitHubと連携する練習をしましょう。

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

練習手順

  1. GitHubで新しいリポジトリを作成

    • リポジトリ名: my-remote-practice
    • Public/Private: 好きな方を選択
    • READMEや.gitignoreは追加しない(空のリポジトリ)
  2. ローカルリポジトリと連携

    # リモートを追加(your-usernameを実際のユーザー名に変更)
    git remote add origin git@github.com:your-username/my-remote-practice.git
    
    # リモートの確認
    git remote -v
  3. ブランチの確認

    # 現在のブランチを確認
    git branch
    
    # ブランチ名をmainに変更(必要な場合)
    git branch -M main
CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

🎯 確認ポイント

  • GitHubでリポジトリを作成できた
  • git remote -vでoriginが表示される
  • SSH接続が正常に動作する
  • ローカルとリモートの連携準備が完了

これでクラウドでのコード管理の準備が整いました!

さらに学習を続けるには

素晴らしい学習ペースです!次のレッスンに進むには、無料会員登録をお願いします。無料会員では各コース3レッスンまで学習できます。

無料で続きを学ぶ

各コース3レッスンまで学習可能

学習進捗の自動保存

コース修了証明書の発行