title: git rebase all intermediate branches
body: <p>Suppose I have a set of BRANCHES (not commits) like the following</p>
  
  <pre><code>A
  |
  B   C
  |   |
   \ /
    D
  </code></pre>
  
  <p>I would like to rebase <code>A</code> over <code>C</code>, but in doing so I would like to move also <code>B</code> to obtain something like</p>
  
  <pre><code>A
  |
  B
  |
  C
  |
  D
  </code></pre>
  
  <p>at the moment I'm doing this manually, rebasing <code>A</code> over <code>C</code> and then moving <code>B</code>. Is there an option for the <code>git rebase</code> command which allows me to do this with one command?</p>
  
  <p>Using a simple <code>git rebase C</code> while being in <code>A</code> (or a <code>git rebase C A</code>) is not enough because it moves only the <code>A</code> branch, while the <code>B</code> branch remains where it is (its commits are copied, but the branch is not moved)</p>