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 

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!


Reply via email to