title: git with development, staging and production branches
body: <p>This article sounds interesting, but I'm pretty sure the diagrams are wrong.
  <a href="http://guides.beanstalkapp.com/version-control/branching-best-practices.html" rel="noreferrer">http://guides.beanstalkapp.com/version-control/branching-best-practices.html</a></p>
  
  <p>Shouldn't it be <code>DEVELOPMENT</code> > <code>STAGING</code> > <code>PRODUCTION</code>?</p>
  
  <blockquote>
    <p>Merges should only flow in one direction: from feature and bug-fixes
    done in their own branch or in development into staging for testing.
    Once tested, you can merge those changes from development into
    production.</p>
  </blockquote>
  
  <p>Here I get a bit confused. So I merge Staging to Master or Master to Staging?</p>
  
  <p>I'm using a client called SmartGit and I get confused about this point. Normally I make a branch for a feature, commit to it, then switch to master and merge it to the branch (forward). So in this new workflow with Staging and Production, I create these two extra branches, then create a branch from master (aka dev) for my feature. Commit to it, then switch to Staging and merge (forward) to my feature branch? Does that sound correct?</p>
  
  <hr>
  
  <p>Actually what made this so confusing is that the Beanstalk people stand behind their very non-standard use of Staging (it comes before development in their diagram, and it's not a mistake! 
  <a href="https://twitter.com/Beanstalkapp/status/306129447885631488" rel="noreferrer">https://twitter.com/Beanstalkapp/status/306129447885631488</a></p>
  
  <p>Have decided to forget about Beanstalk and just go with Github.</p>
  
  <hr>
  
  <p>Since I posted this, the Beanstalk people took my hint and renamed their stages, now calling Development "Stable". </p>