How could you squash multiple commits together without using git merge --squash?
Caching
Rebasing
Reflogging
You can't. git merge --squash is the only git command for that operation.