Git
From John Freier
Rebase
When you are on a branch, you get
git rebase master
Squash feature branch
This squashes all the commits in to one.
git merge --squash feature
and then you need to commit the new squashed changes.
get commit -m "squashed changes merged in."
Squash Commits
This squashes the last 3 commits.
git reset --soft HEAD~3 git commit -m 'new commit message'