title: Git remote repository workflow with local develop and master branches?
body: <p>I am trying to learn and develop best practices with git. I've been reading the git flow branching practice when it comes to branching. Based on this practice my branches should be</p>
  
  <pre><code>master
  develop
  hotfix
  feature
  </code></pre>
  
  <p>I develop on my local machine using a local repo. I have two remote bare repos that I will push to. One is a TEST server and the second is the LIVE production server.Both of these remote repos have a post-receive hook in place.</p>
  
  <p>The master branch is supposed to reserved for final production code only. So, wWhich branch do I push to the TEST server? Currently I have to merge the develop to the master and then push the local master to the TEST. But, if I have any editing after that push, the master has been changed and was not really ready for production. Should I be pushing the develop branch up to the TEST server? And, then after final approval merge develop to the master and then push the master to the LIVE server?</p>
  
  <p>I don't why I'm so confused by this? I think I'm afraid of making any mistakes.</p>