As I illustrated in "Trimming Git Commits/Squashing Git History", and to summarize:
with the fixup! directive, you could keep that squashing "invisible" in the commit message, while still benefiting from the automatic commit reordering with the
As the Op Dash comments:
squash!will guarantee that the squashing operation is recorded in the history, which is unlike
fixup!where the squash operation is invisible for a more "cleaner" approach.