title: Difference between git rebase and git reset
body: <p>Say I have this:</p>
  
  <pre><code>A - B - C - E - F    [integration]
   \
    G - H - I          [feature]
  </code></pre>
  
  <p>after commit <code>I</code>, we rebase with with integration:</p>
  
  <pre><code>git fetch origin
  git rebase integration
  </code></pre>
  
  <p>so now we have:</p>
  
  <pre><code>A - B - C - E - F    [integration]
   \
    B - C - E - F - G - H - I          [feature]
  </code></pre>
  
  <p>and then say we merge the feature branch into integration, we then have:</p>
  
  <pre><code>A - B - C - E - F - G - H - I   [integration]
   \
    B - C - E - F - G - H - I          [feature]
  </code></pre>
  
  <p>(I think that is right), but I don't see how that is any different than not rebasing at all?</p>