title: Difference between 'rebase master' and 'rebase --onto master' from a branch derived from a branch of master
body: <p>Given the following branch structure:</p>
  
  <pre><code>  *------*---*
  Master        \
                 *---*--*------*
                 A       \
                          *-----*-----*
                          B         (HEAD)
  </code></pre>
  
  <p>If I want to merge my B changes (and <strong>only</strong> my B changes, no A changes) into master what is the difference between these two set of commands?</p>
  
  <pre><code>&gt;(B)      git rebase master
  &gt;(B)      git checkout master
  &gt;(master) git merge B
  </code></pre>
  
  <hr>
  
  <pre><code>&gt;(B)      git rebase --onto master A B
  &gt;(B)      git checkout master
  &gt;(master) git merge B
  </code></pre>
  
  <p>I'm mainly interested in learning if code from Branch A could make it into master if I use the first way.</p>