Git Remote: リモートリポジトリを管理する

git remote でリモートリポジトリを追加・削除・管理する方法を解説。upstream リポジトリ、複数リモート、フォークワークフローに対応します。

git remote add upstream https://github.com/original/repo.git

詳細な説明

git remote は何をするのか?

git remote はローカルリポジトリが通信するリモートリポジトリのセットを管理します。リモートとは、別の場所(GitHub、GitLab など)にホストされたリポジトリのコピーを指す名前付き URL です。

よく使うコマンド

# リモートを一覧表示
git remote -v

# リモートを追加
git remote add upstream https://github.com/original/repo.git

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

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

# リモートの詳細情報を表示
git remote show origin

フォークワークフロー

リポジトリをフォークすると、通常2つのリモートがあります:

  • origin — 自分のフォーク
  • upstream — 元のリポジトリ
# フォークを元のリポジトリと同期する
git fetch upstream
git checkout main
git merge upstream/main
git push origin main

リモート URL の変更

# HTTPS から SSH に切り替える
git remote set-url origin git@github.com:user/repo.git

# 変更を確認
git remote -v

複数のリモート

冗長性やデプロイのために複数のリモートに push できます:

git remote add deploy git@deploy-server:/var/repos/app.git
git push deploy main

古くなった参照の整理

リモートブランチが削除されても、ローカルの追跡参照は残ります。これをクリーンアップするには:

git remote prune origin
# または fetch 時に自動的に:
git fetch --prune

リモートの理解はコラボレーションの基本です。フォークを通じてオープンソースに貢献する場合でも、複数のデプロイ先を管理する場合でも、git remote はローカルの作業を外の世界とつなぐコマンドです。

ユースケース

オープンソースのコントリビューターがリポジトリをフォークし、元のリポジトリを upstream リモートとして追加して、フォークを定期的に最新の変更と同期する場面で使用します。

Try It — Git Command Builder

フルツールを開く