title: GitFlow: Properly Testing Release Branches & Master
body: <p>I have been looking for a good branching model in git and found <a href="http://nvie.com/posts/a-successful-git-branching-model/" rel="nofollow">GitFlow</a> would fit our development environment pretty well. However, one outstanding question is how and where to test our releases.</p>
  
  <p>Release branches sound like a place to run all of the regression tests prior to the release.  However, release branches are then merged into master, tagged, and that is what finally goes out to production.  What happens if there are merging conflicts from release branch to master?  Sounds like master needs to be completely re-tested (which could be costly).  Even if there are no conflicts, is it safe to simply push that merge to production, or is there a need to run additional basic smoke tests?</p>