title: Git rebasing interactive not squashing when fast forward available
body: <p>I have a branch from master with three changes and want to rebase it back on to master. For example:</p>
  
  <pre><code>$git checkout master
  $git branch dev &amp;&amp; git checkout dev
  $&lt;do 3 commits&gt;
  $git checkout master
  $git rebase dev -i
  </code></pre>
  
  <p>Normally -i would give me the 3 commits and allow me to squash. In this case however it is just "noop" and when the rebase completes I see the three commits moved over to master. I guess here though, as the ancestor had not diverged, a fast forward was possible and so this is what happened. But I want to squash the commits. </p>
  
  <p>I tried using --no-ff but it does exactly the same as in my original case (noop + no squashing). </p>
  
  <p>I tried also doing (while on the dev branch)</p>
  
  <pre><code>$git rebase -i HEAD~3
  $git checkout master
  $git rebase dev
  </code></pre>
  
  <p>But this is a pain really and I have to know how many commits to squash for the HEAD~X part.</p>
  
  <p>Footnote:
  The reason this is important to me is that it is this squashed changeset that will be reviewed in gerrit. If they are separate, it makes reviewing impossible.</p>