Git Pushで2つのURLへ同時にプッシュする

Gitでは、リモートに複数のpushurl値を追加することで、1つのローカルブランチを複数のリモートURLへ同時にプッシュできます。これは、プライマリのGitサーバーとバックアップ用リポジトリなど、同じリポジトリを2つのサーバーへミラーしたい場合に便利です。

originに2つのプッシュURLを追加します。

git remote set-url --add --push origin git://original/repo.git
git remote set-url --add --push origin git://another/repo.git

この後は、通常のプッシュで、設定済みの両方のプッシュURLへ更新が送信されます。

git push origin main

現在のフェッチURLとプッシュURLを確認するには、次を使います。

git remote -v

pushと表示されたoriginのエントリが1つ以上見えるはずです。

originからプッシュURLを1つ削除します。

git remote set-url --delete --push origin git://another/repo.git

originを完全に削除します。

git remote rm origin

originを再び単一のURLに設定します。

git remote set-url origin git://another/repo.git

リモートがまだ存在しない場合は、先に追加します。

git remote add origin git://another/repo.git

なお、git://は認証されず、最近のホスティングサービスでは無効化されていることがよくあります。通常の書き込みアクセスには、利用しているGitホストがサポートするSSHまたはHTTPSのURLを使ってください。例:

git remote set-url --add --push origin git@github.com:user/repo.git

Leave a Reply