"git rebase --interactive HEAD~10" will bring up a $EDITOR window with the last 10 commits listed. You can rearrange them, squash them into each other, delete some entirely. Save the file, and git will happily rewrite history for you.
See this blog post for a little more detail: http://blog.madism.org/index.php/2007/09/09/138-git-awsome-n...