title: How to git rebase using the hash instead of the branch name?
body: <p>I use <code>git rebase --onto target source foo</code> to move the branch <code>foo</code> from the branch <code>source</code> onto the branch <code>target</code>. Do you know if it is possible to use <strong>hash values</strong> instead of branch names (if not given) like this: <code>git rebase --onto ab91c f4242 foo</code>?<br>
  As a workaround I temporarily added branch names to the relevant commit objects. But this can be a pita if you have many branches to being rebased.</p>
  
  <p>Example situation:</p>
  
  <pre><code>° bb42a
  ° ab91c
  ° 979c2
            /° fb648 foo
  ° f4242 --
  ° 333c9
  </code></pre>
  
  <p>After <code>git rebase --onto ...</code></p>
  
  <pre><code>° bb42a
            /° fb648 foo
  ° ab91c --
  ° 979c2
  ° f4242
  ° 333c9
  </code></pre>
  
  <p>Background:<br>
  The explained problem is very common if you use an svn-server as you remote repository. All you commit objects get rewritten since the <strong>svn-id</strong> will be added every time you <code>git svn dcommit</code> to the svn-repository. This detaches all other branches from their former <em>master</em>.</p>