1つのローカルリポジトリに複数のリモートリポジトリを登録する

Posted on:2017-06-07

ローカルリポジトリに複数のリモートリポジトリを設定する方法になります。remote add を使ってoriginと別のリモートリポジトリをラベルに設定して管理することができるようです。

複数のリモートリポジトリを管理して、作業することがあるのでメモとして残しておきます。

リモートリポジトリの確認

現在のリモートリポジトリを確認するコマンド

bash
git remote -v
origin git@github.com:redamoon/hogehoge.git (fetch)
origin git@github.com:redamoon/hogehoge.git (push)

別のリポジトリを登録する

すでにローカルのリポジトリとリモートのリポジトリを作成している状態で別のリモートリポジトリを登録させます。

ラベルの名前は好きな名前をつけることができます。クライアント名だったり、リポジトリのサービス名など好きな名前をつけるようにして、管理しやすい名前を設定させておきます。

foofooという部分がラベル名になります。

bash
git remote add foofoo git@github.com:redamoon/foofoo.git

git remoteすると新たにfoofooという名前でリモートリポジトリが表示されます。

bash
git remote -v
foofoo git@github.com:redamoon/foofoo.git (fetch)
foofoo git@github.com:redamoon/foofoo.git (push)
origin git@github.com:redamoon/hogehoge.git (fetch)
origin git@github.com:redamoon/hogehoge.git (push)

それぞれのリポジトリへPushする

それぞれのリポジトリへPushする方法は、pushの後にラベル名を入力しブランチを指定して実行させます。

メインリポジトリのmasterブランチへPush

bash
git push origin master

作成した別リポジトリのmasterブランチへPush

bash
git push foofoo master

remoteリポジトリの削除

bash
git remote rm foofoo

参考サイト

必要に応じてやってましたが、いつもやり方を忘れてしまってぐぐっていたのでメモしておきました。個人的に使うのであれば、リポジトリのバックアップとして別サービスや自前のサーバ内に残すというのもありかもしれませんね。