title: Rebase single commit without replaying subsequent commits
body: <p>I have two branches, B1 and B2, in the following setup</p>
  
  <pre><code>          [B1]
  -o-o-d1-d2-d3 
        \
         c1-c2-c3  
              [B2]
  </code></pre>
  
  <p>I would like to switch commit c1 to B1 in order to achieve the following setup</p>
  
  <pre><code>-o-o-d1-c1-d2-d3
           \
            c2-c3
  </code></pre>
  
  <p>I know that I can cherry-pick c1 onto the first branch. But my history is cleaner if I had the changes of c1 only on branch B1. (I admit, the problem can be seen rather as an aesthetic one... but I hope that git has a nice solution for it.)</p>