Practical example, how to make one commit after 3 pushed commits:
///new branch
git checkout -b test
//add some changes and make commit
git commit -am "first commit"
//add some changes and make commit
git commit -am "second commit"
//add some changes and make commit
git commit -am "third commit"
git push
//merge 3 last commits
git reset --soft @~3
git commit -am “merged 3 commit”
git push --force
git commit -am “first commit”
//changes
git commit -am “second commit”
//changes
git commit -am “third commit”
git push
git reset –soft @~3
git commit -am “merged commit”
git push //if was not pushed
git push –force //if was pushed