title: What's the difference between `git fetch` then `git rebase`, and `git pull --rebase`?
body: <p>In reading the <code>git pull</code> page, it gives this stern warning about <code>git pull --rebase</code>:</p>
  
  <blockquote>
    <p>This is a potentially dangerous mode of operation. It rewrites history, which does not bode well when you published that history already. Do not use this option unless you have read git-rebase(1) carefully.</p>
  </blockquote>
  
  <p>In the <code>git rebase</code> page, it gives a lot of description but no warning of this sort.</p>
  
  <p>In addition, I've seen some people say that</p>
  
  <pre><code>git fetch
  git rebase
  </code></pre>
  
  <p>is the same as</p>
  
  <pre><code>git pull --rebase
  </code></pre>
  
  <p>while others say they're <em>slightly</em> different.</p>
  
  <p>What's the truth?</p>