squash commits git code example

Example 1: squash commit history git

# THIS TURNS YOUR WHOLE COMMIT HISTORY INTO ONE SINGLE COMMIT!
# BE CAREFUL!

git rebase --root -i

# In your editor, for each commit except the top, change `pick` to `squash`

Example 2: git squash last 2 commits

git rebase -i HEAD~2

Example 3: squash commits on branch

git rebase -i HEAD~20

Example 4: squash 3 commit

$ git rebase -i HEAD~3

Example 5: squash commits in git

git reset --soft HEAD~3 &&
git commit