git push heroku masterRight? But... with a little change, you can make it easy to deploy to both staging and production versions, both on Heroku, with little to no confusion, as can happen if you still refer to one or the other as heroku. Here's the .git/config of one of my projects, with the important bits in bold:
(Of course, this is after specifying or changing the names, to be $APP-staging and $APP-production.) Note the [remote "staging"] and [remote "production"] parts. When I want to push to staging, it's:[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true ignorecase = true [remote "staging"] url = firstname.lastname@example.org:jobsmith-staging.git fetch = +refs/heads/*:refs/remotes/heroku/* [remote "production"] url = email@example.com:jobsmith-production.git fetch = +refs/heads/*:refs/remotes/heroku/*
git push staging masterand a push to to production is:
git push production masterNo need to worry about whether just plain heroku is staging or production.
When might you not want to do this? Mainly when you don't want to bother having some other URL for the production site. I've still got a few little apps that are addressed by their herokuapp.com URLs, like rebalancR (http://rebalancR.herokuapp.com) and The Decider (http://TheDecider.herokuapp.com). Using those URLs just looks ugly. In these cases I didn't really care. The first was a prototype for a client. The second was basically an early proof that yes I could do Rails even though I didn't yet have any public RoR projects I could show.
However, the one with the above git config file, is also available as http://TheJobsmith.com. In fact, my main web site (http://www.codosaur.us) is technically a Rails app -- and also available as http://codosaurus-production.herokuapp.com, with a staging site at http://codosaurus-staging.herokuapp.com (and a git config file very similar to the above).