>each commit nominally should work
Except it can be the result of 10 squashed commits.
Except it can be the result of 10 squashed commits.
Without Squash, the main branch history becomes a timeline of your mental struggle.
With Squash, the main branch becomes a catalog of features delivered.
No body needs to take a trip on the struggle bus with me...
For the same reason you have your production history instead of zip file with code)
>while presenting a nice clean set of changes at the end of it
The set, yes, not a single squashed commit.
>The branch is a scratchpad, you should feel empowered within your own branch, rebase
Yes, amend, fixup, rebase. Make it a nice set of small commits.
Which is an argument against GitHub, not clean commit history