title: How to move certain commits to be based on another branch in git?
body: <p>The situation:</p>
  
  <ul>
  <li>master is at X</li>
  <li>quickfix1 is at X + 2 commits</li>
  </ul>
  
  <p>Such that:</p>
  
  <pre><code>o-o-X (master HEAD)
       \
        q1a--q1b (quickfix1 HEAD)
  </code></pre>
  
  <p>Then I started working on quickfix2, but by accident took quickfix1 as the source branch to copy, not the master. Now quickfix2 is at X + 2 commits + 2 relevant commits.</p>
  
  <pre><code>o-o-X (master HEAD)
       \
        q1a--q1b (quickfix1 HEAD)
                \
                 q2a--q2b (quickfix2 HEAD)
  </code></pre>
  
  <p>Now I want to have a branch with quickfix2, but without the 2 commits that belong to quickfix1.</p>
  
  <pre><code>      q2a'--q2b' (quickfix2 HEAD)
       /
  o-o-X (master HEAD)
       \ 
        q1a--q1b (quickfix1 HEAD)
  </code></pre>
  
  <p>I tried to create a patch from a certain revision in quickfix2, but the patch doesn't preserve the commit history. Is there a way to save my commit history, but have a branch without changes in quickfix1?</p>