A clean history should tell the truth, not rewrite reality.
Curate history for comprehension without concealing decisions, reversals, or risk.
Interpretation
History is an operational record, not a vanity graph. Squashing noise can help, but erasing a meaningful reversal removes the reason the final code looks as it does. Prefer a narrative that a future investigator can trust over one that merely appears linear.
Practice
- Preserve commits that explain consequential reversals.
- Use reverts when the event itself matters.
- Link decisions and incidents from commit messages.
Anti-pattern
Rebasing away a production rollback to hide an uncomfortable event.

