1. Fork your app

    heroku fork --from myapp --to staging-myapp

  2. Create a heroku pipeline for your app heroku pipelines:create -a myapp
  3. Add the staging app to that pipeline heroku pipelines:add -a myapp-staging myapp
  4. Change the heroku remote to be that of your staging app heroku git:remote -a fedry-staging
  5. From now on we'll be pushing code to staging so your workflow (may be) is: git push heroku master

    .. verify app behavior (heroku open)

    heroku pipelines:promote to send staging -> production without the need for recompile.

More here, and here.

You will now be much less likely to put your "production" app in a broken state.

Note that from now on, your myapp-staging is the target for most of your heroku commands, so if you want to view your production logs - for example - you'll want heroku logs -a myapp.