squash commits on 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 commits on branch
git rebase -i HEAD~20
Example 3: squash commits in git
git reset --soft HEAD~3 &&
git commit