The "squash everything" mantra turns git commit history into a series of snapshots devoid of any logical notion about how code evolves.
Squashed commits are strictly worse than plain, non-fast-forwarded merges from rebased branches.
Squashed commits are strictly worse than plain, non-fast-forwarded merges from rebased branches.