title: git squash and keep the last commit exactly
body: <p>I am getting merge conflicts when squashing commits and the last commit ends up DIFFERENT than it was before the squash.  Why does the final result change when i run</p>
  
  <p><code>git rebase -i someothercommit</code></p>
  
  <p>then squash undesired intermediate commits leaving only the first??  I don't understand how there can be merge conflicts considering each commit is in series.  Some more details are below:</p>
  
  <p>For my workflow I have several branches
   master
   0somefeature
   1anotherfeature
   2lastfeature</p>
  
  <p>generally 0feature is based off master, 1 is based off 0 etc.  when i make a change to master I merge master into 0feature, then 0feature into 1newfeature etc.</p>
  
  <p>this is what i have run:</p>
  
  <pre><code>$ git log --online -5
  990cfb1 combine dump, add prog, combine validate
  41013a9 Merge branch '5flash_addr' into 6flash_bankcheck
  6f5e8f1 nothing interesting
  7b8140d nothing interesting
  2347714 implementation of dump and program
  
  $ git rebase -i 2347714
  </code></pre>
  
  <p>then i squash all commits except for 990cfb1, end up with merge conflicts and my new commit is now different than it was before the merge!!</p>
  
  <p>Thanks!</p>