I've been working on a web-app that gets pushed to heroku. The source is hosted on GitHub.
So git push
pushes the master branch to GutHub.
My git branch 'master' is connected to Heroku app 'my-app-staging
'
So git push heroku
pushes the app to my-app-staging.herokuapp.com
I've created a new Heroku app which will be the 'production' app, let's call it 'my-app-prod
'.
I have created a branch now called 'production
' (ie git checkout -b production
) and I've run git push -u origin production
to make it a managed branch at GitHub.
I now want to link the production
branch to my-app-prod.herokuapp.com
such that, when switched to the production
branch I can simply type git push heroku
(or perhaps git push prod-heroku production
or similar) and voila - the production branch is pushed to the production app.
What's the recommended way to link my production
branch to my-app-prod
on Heroku?
I've wallowed through Heroku's own docs on this but they all assume I've set up my apps using the heroku create
CLI, not set up my apps via Heroku's website, however the following paragraph just makes my head spin:
It’s simple to type
git push staging master
andgit push production master
when you’ve followed the steps above. Many developers like to take advantage of git’s branches to separate in-progress and production-ready code, however. In this sort of setup, you might deploy to production from your master branch, merging in changes from a development branch once they’ve been reviewed on the staging app. With this setup, pushing is a littler trickier:
Where I want to end up is as follows:
- In branch
master
: (a)git push
pushes code to GitHub, and (b)git push heroku
pushes code tomy-app-staging
on Heroku - In branch
production
: (c)git push
pushes code to theproduction
branch on GitHub, and (d)git push heroku
pushes theproduction
code tomy-app-prod
on Heroku.
Given step 1 above is already in place and step 2 (c) is in place, how do I achieve step 2 (d)?