ぷっぽプログラミング備忘録

linux, javascript, php, C#, そのうちScalaとかアプリ開発とかやってみたいです。

gitのローカルブランチは複数のリモートリポジトリにpushできる

heroku試しに使い始めて、疑問がでてきました。

herokuのコード自体の保存をどこかのリモートブランチにしたいなあ。 でも、herokuのリモートブランチにpushしたら、デプロイされる(くそ時間かかるやん)。

調べてみると

Git での既存の Heroku アプリケーションの複製 | Heroku Dev Center

Heroku アプリの Git リポジトリは、デプロイのみを目的にしています。このリポジトリからの複製は機能として正式にはサポートされておらず、最後の手段としてだけ試行する必要があります。このリポジトリをアプリの正規の “オリジン” リポジトリとして使用しないでください​。代わりに独自の Git サーバー、または GitHub などのバージョン管理サービスを使用してください。

うぇぇ…そうなんだ。

というわけで、調べたら、なんてことはない(?) ローカルブランチは複数のリモートブランチにpushできるということでした。 今まで一対一の関係かと思ってたけど、1対多の関係だったのね、という。

やり方は以下です。

git remote add [追加リモートリポジトリ名] [追加リポジトリのurl]

何かしらリモートリポジトリに名前をつける感じ。 デフォルトはorigin。 なので、githubだったら

リモートリポジトリを管理する - GitHub Docs

git remote add origin https://github.com/OWNER/REPOSITORY.git

みたいな感じですかね。

これで、pushの際に、リモートリポジトリ名を指定することで、切り替えられるということでしょう。

  • herokuにデプロイする場合 git push heroku

  • githubにpushする場合 git push origin

といった感じでしょう。