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