# Demonstration: The Same Change, Told Two Ways ## OBSERVE ``` $ git log --oneline a1b2c3d fixed stuff ``` One commit, an unhelpful message, and (imagine) 15 unrelated files changed together: a bug fix, a typo correction, and an unrelated half-finished experiment. ## HYPOTHESIS Predict: six months from now, could you (or a teammate) confidently `git revert` just the bug fix from this commit, leaving the other 14 files untouched? ## INSPECT No — reverting this ONE commit reverts everything in it together, including the unrelated typo fix and experiment, whether you want that or not. ## CHANGE The same work, done as three separate, well-described commits instead: ``` $ git log --oneline 3f9a1c2 Fix null-pointer crash in payment retry logic 9d8e7f6 Fix typo in onboarding email template 1a2b3c4 WIP: experiment with new caching strategy (not ready) ``` ## VERIFY Now `git revert 3f9a1c2` cleanly undoes JUST the payment bug fix, with zero effect on the other two — because each commit is one logical, independently-reversible unit of work. ## Instructor Notes **Demo goal:** Make the practical cost of "fixed stuff" commits concrete — not a style preference, a genuine loss of capability (precise revert, clear history, easier review). **Approximate timing:** 8 minutes live. **Common mistake to watch for:** treating this as a purely aesthetic preference rather than a practical one — reinforce the concrete "can you revert just the bug fix" test.