Indeed, @mem nails it. Fixup commits allow iteratively working on things and providing a clear timeline of changes to reviewers while enabling a clean commit when rebasing. If Github enabled the "--autosquash" option when doing rebase&merge on the web UI, we wouldn't have to go through the hassle of locally rebasing and force-pushing before merging once the PR is approved, and the commit message would be cleaner than when using squash&merge. In addition, commit suggestions via the review UI should use the fixup convention rather than generic and not so meaningful messages.
... View more