Hey all, Just learning Git and I am trying to understand the best workflow for our team. For arguments sake, assume we are using Github for our private repositories and using Heroku for hosting.
I'd like to have a workflow where our development team commits changes to a development branch. Someone (likely me) will be responsible for cherry picking commits from the development branch (or branches maybe?) and pulling them into a QA branch which is then pushed to our Heroku QA repository\app. Once QAed and approved, I'd like to pull (merge?) the entire QA branch into the production branch and push that to our Heroku production repository. Some questions: 1. At a high level, does this make sense and is there a better way? The goal is mostly to allow concurrent development while allowing us to selectively deploy specific changes. 2. Is it best to have separate repositories for each developer and have them push changes, once complete, to the main development repo? Or should everyone just commit their code to the main development repo? 3. Related to above: Should each developer have a separate branch or a separate repository? 4. Are there any tools to facilitate a workflow like this? Obviously command line is immensely powerful. Ive been using SourceTree and liking it so far. Also hear Tower is great. GitHub for Mac(\Windows) is pretty limiting. I've read a few blogs\articles describing some workflows similar to this but I havent really been able to wrap my head around it entirely. Any links would be appreciated. Thanks in advance! --
