I’ve been thinking about the complete git/GitHub workflow.
Thanks for prompting my thoughts again.
What's the point of squashing?
Squashing is about organizing. The most common case are putting a few commits that do very similar things together as one for the final history.
I suppose the second point makes sense if you are creating specialized branches or when you are working locally and before you push your changes you want to show a unified picture in your log.
It is actually part of a common workflow with GitHub. Commit locally often. Push to a working branch on a personal fork often. Reorganize, squash, rebase, locally then git push --force-with-lease the result you want in a pull request onto your branch before sending it back to the parent project.
git push --force-with-lease
Had to look that up. For those unfamiliar: git push --force-with-lease
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.