title: git rebase -i --root creates unrelated history
body: <p>Say I have the following commit history:</p>
  <pre><code>* E   (HEAD -&gt; mybranch, origin/mybranch) Foo 3
  |
  * D   Foo 2
  |
  * C   Update readme
  |
  * B   Foo 1
  |
  * A   Initial commit
  </code></pre>
  <p>I want to rebase from the initial commit and drop all commits named &quot;Foo&quot;, so I run</p>
  <pre><code>git rebase -i --root
  </code></pre>
  <p>However, this creates a new, unrelated history like this:</p>
  <pre><code>* C'  (HEAD -&gt; mybranch) Update readme
  |
  * A'  Initial commit
  
  * E   (origin/mybranch) Foo 3
  |
  * D   Foo 2
  |
  * C   Update readme
  |
  * B   Foo 1
  |
  * A   Initial commit
  </code></pre>
  <p>On the other hand, if I run</p>
  <pre><code>git rebase -i A  # where &quot;A&quot; is the commit SHA
  </code></pre>
  <p>I get the expected branching behaviour:</p>
  <pre><code>* C'  (HEAD -&gt; mybranch) Update readme
  |
  | * E   (origin/mybranch) Foo 3
  | |
  | * D   Foo 2
  | |
  | * C   Update readme
  | |
  | * B   Foo 1
  |/
  * A   Initial commit
  </code></pre>
  <p>So why does <code>git rebase --root</code> behave to produce an unrelated history and can I make it behave like I expected?</p>