git squash commits in branch code example
Example 1: squash commits in remote branch
$ git rebase -i HEAD~4
At the interactive screen that opens up, replace pick with squash at the top for all the commits that you want to squash.
Save and close the editor through esc --> :wq
$ git push origin branch-name --force
Example 2: 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 3: squash commits on branch
git rebase -i HEAD~20
Example 4: squash commits in git
git reset --soft HEAD~3 &&
git commit