title: Where should I create UAT branch from - master or dev?
body: <p>I've got a master branch which represents what's there on production server. I've a dev branch (child of master) which contains work done in the sprint just finished. <code>master</code> branch also contains fixes done on production server after getting diverged from dev.</p>
  
  <p>Now I need to merge both of them and create a new branch called <code>UAT</code> where it will be tested for production readiness.</p>
  
  <p>So should I?</p>
  
  <p>merge master > dev<br/>
     branch uat from dev<br/>
     merge uat > master (once uat is stable)</p>
  
  <p>or</p>
  
  <p>branch uat from master<br/>
  merge dev >  uat<br/>
  merge uat > master (once uat is stable)</p>
  
  <p>In both cases, developers will carry on working on dev branch.</p>