title: How do I split up a large Git branch into lots of smaller branches?
body: <p>I have imported from SVN into Git, now I have one big branch, like this:</p>
  
  <ul>
  <li>work on feature C</li>
  <li>work on feature B</li>
  <li>work on feature C</li>
  <li>work on feature C</li>
  <li>work on feature B</li>
  <li>work on feature A</li>
  </ul>
  
  <p>I want separate feature branches, for A, B, C. I'm cherry picking commits to new branches but this doesn't remove them from the original branch so I have to manually track which ones I have pulled out.</p>
  
  <p>There are around 800 commits to split up, and maybe 50 features/bugfixes.</p>
  
  <p>It would be nice to have the ones I have pulled out reflected this way somehow in the git log, so I know which ones I have already done. Is this possible?</p>
  
  <p>I can rebase the entire branch, skipping the commits I have pulled out, but I'm worried this will cause lots of conflicts. I don't want to resolve 500 conflicts every time I pull a commit out. </p>
  
  <p>What's the best method of pulling out commits from one uber branch onto smaller feature branches, whilst keeping track of your progress?</p>