title: git pull --rebase
body: <p>Start situation (no unpushed changes, <code>&gt;</code> indicates the current branch):</p>
  
  <pre><code>o C [&gt; master][origin/master]
  |
  o B
  |
  o A
  |
  ...
  </code></pre>
  
  <p>After a <code>git fetch</code> the log structure often looks like</p>
  
  <pre><code>o E [origin/master]
  |
  o C'
  |
  o B'
  |
  o D
  |
  | o C [&gt;master]
  | |
  | o B
  |/
  o A
  |
  ...
  </code></pre>
  
  <p>Now <code>git rebase origin/master master</code> often produces conflicts. Is <code>git pull --rebase</code> smarter and just uses <code>git reset</code> to make <code>master</code> also point to <code>E</code> if <code>master</code>==<code>origin/master</code> initially?</p>