😽

herokuで複数のリモートレポジトリが存在する際に、push先を変更する方法

2022/04/19に公開

Githubのおもらし事件でReview Appが一時的に使えなくなったので、手動で環境を分けてデプロイする方法をまとめておく。

リモートレポジトリ一覧を見る

$ git remote -v #リモートレポジトリの一覧を出力する

heroku  https://git.heroku.com/xxx.git (fetch)
heroku  https://git.heroku.com/xxx.git (push)
production  git@github.com:kdmgs110/yyy.git (fetch)
production  git@github.com:kdmgs110/yyy.git (push)
stg    https://git.heroku.com/xxx (fetch)
stg    https://git.heroku.com/xxx.git (push)
v0.1.1.0        v0.1.1.0 (fetch)
v0.1.1.0        v0.1.1.0 (push)

リモートレポジトリを追加する

$ heroku git:remote --app アプリ名
# 例
$ heroku git:remote --app production

リモートレポジトリの呼び出し名を変更する

ただしこれで追加すると、必ずherokuという名前で登録されてしまうので、以下のように名前を変更する

$ heroku apps:rename newname --app defaultname
# 例
$ heroku apps:rename production --app heroku

git push ${環境名} {branch名}

# masterブランチをproduction環境にアップロードしたい場合
$ git push production master
  • masterブランチをstg環境にアップロードしたい場合
$ git push stg master

master以外のブランチをデプロイする

  • ブランチ名の指定だけ若干わかりづらいので注意
$ git push herokuの環境名 ブランチ名:master
# 例: developブランチをstagingにpushしたい場合
$ git push staging develop:master

参考

Discussion