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
master
develop
hotfix
feature
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.
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?
I don't why I'm so confused by this? I think I'm afraid of making any mistakes.