How about:

   * squash into one commit
   * git reset HEAD~1
   * git add -p
   * git commit -m commit1
   * repeat until no changes are left
   * add any file deletions/additions
I use this because you can have several commits marked e.g. "commit1". Then you make a final interactive rebase to squash them together.