title: TeamCity push feature branches to master branch
body: <p>Is there any way to push successfully built feature branches to another branch?</p>
  
  <p>I'd like to have something like that:</p>
  
  <p>Git repository (Gitorious/GitHub whatever). Branches:</p>
  
  <ul>
  <li>master (current project's code)</li>
  <li>quality-assurance (branche where code waits for QA)</li>
  <li>feature-branches (many remote branches, where devs can develope their features)</li>
  </ul>
  
  <p>Developer should have only read access to master and read/write to his feature branches
  QA read/write quality-assurance branch
  TeamCity - read/write master, quality-assurance, read only to feature-branches</p>
  
  <p>And now I would like to have a workflow like this:</p>
  
  <ol>
  <li>Developer pulls code from master branch.</li>
  <li>Developer creates feature-branch-A.</li>
  <li>Developer pushes changes to remote feature-branchA</li>
  <li>TeamCity monitors feature branches</li>
  <li>TeamCity triggers build and tests on each commit.</li>
  <li>TeamCity pushes changes to quality-assurance branch if build was successful</li>
  <li>QA team checks the code (maybe runs some other tests, integrity tests)</li>
  <li>If QA decides that everything is OK, they push changes to master branch.</li>
  </ol>
  
  <p>i don't know if that step with QA is necessary and maybe each feature branch after successful build and tests should be merged with master.</p>
  
  <p>Firstly I would like to know: does it makes sense? I'm just starting with CI and I don't know if it will works.</p>
  
  <p>Secondly, if this workflow is correct, I would like to know how to configure TeamCity to do something like that and what if there would be some kind of conflict or where something could goes wrong.</p>
  
  <p>Recently I watched presentation about Git+Jenkins+Gerrit where I saw something similar, but for .NET development, I personally prefer TeamCity, but if it's much easier to do that with Jenkins, I change my mind.</p>