title: Parallel development in Git
body: <p>I am new to working with Git and have problems in regards to parallel development within this version control.  Our Master is a copy of the live code.  We do that for a  couple of reasons, main reason being that we need to do maintenance on the live code while building the next updates.  I don't want my support updates to merge with my development code and have it accidently get promoted to live.  </p>
  
  <p>Let me note that we have a four step promotion process--first we post to QA, then Customer Testing, then Stage, then Live/Production.  So the Live code that we are working on is at least four weeks older than any development.  </p>
  
  <p>Let me give some examples of the problems I have encountered:  Lets say I have an effort that takes a week to build and Billy, ten cubicles over, has another effort that takes three weeks to build.  These efforts share files, though they do not actually touch the exact same line of code.  Let's say Billy's three week effort is due one week after my effort--He will start the three week effort prior to the one week effort even though it will get promoted after mine.  His  code is promoted to dev in increments, so it makes no sense for me to make my master from Dev--Live is my only option, since mine is going in first.</p>
  
  <p>We will do our work separately, I'll post mine to Dev, and a week later, my code is missing because Billy's work overwrote my code (or vice versa).  There is no merge conflict, Git posts the entire local repository of Billy's code, which didn't include my file changes, so my work is just gone.  </p>