We\'re working with a semi-centralized git repository here where I work. Each developer has their own subtree in the central git repository, so it looks something like this:
You can map your branch to different tracking branch on the remote with something like this:
git remote add heroku git@heroku.com:YOURAPPNAME.git
git checkout -b heroku -t heroku/master
Your config ends up similar to what @Paul suggests (a tad "simpler" actually).
See this gist (with tweaks by me) for usage steps that work well for me https://gist.github.com/2002048.