Unless branches represent a completely isolated component in your project, then branches should be short lived. This makes them easier to work with, easier to merge and easier to get rid of when you dont need them.
Rebasing (I dont like doing this on shared repos, your loosing tracability because you are rewriting history). There may be some merit when a team is working very closely on the same part of the code, where there is a lot of communicaton going on.
Can use … from labs to automatically deploy onto heroku from Github - probably dont want to do this for production - or at least make sure than anyone who triggers an automatic deploy knows that they are doing so.
This work is licensed under a Creative Commons Attribution 4.0 ShareAlike License, including custom images & stylesheets. Permissions beyond the scope of this license may be available at @jr0cket