## The "Fix Stuff" Problem We've all done it. You've been working for 4 hours, you're tired, and you just want to push the code. `git commit -m "fix bug"` `git commit -m "updates"` Six months later, when a regression appears, these messages are useless. You have to read the diffs of 50 files to understand what changed. ### The 50/72 Rule A good commit message consists of a subject line and a body. 1. **Subject:** Limit to 50 characters. Use the imperative mood ("Fix bug" not "Fixed bug"). 2. **Body:** Wrap at 72 characters. Explain *why* the change was made, not *how*. The code explains the how. ### Conventional Commits Many teams adopt a standard prefix system: * `feat:` A new feature * `fix:` A bug fix * `docs:` Documentation only changes * `style:` Formatting, missing semi-colons, etc (no code change) * `refactor:` Refactoring production code **Example:** `feat(auth): add google oauth login support` By following these rules, you make your project history a clean, readable log of the application's evolution. ## The "Fix Stuff" Problem We've all done it. You've been working for 4 hours, you're tired, and you just want to push the code. `git commit -m "fix bug"` `git commit -m "updates"` Six months later, when a regression appears, these messages are useless. You have to read the diffs of 50 files to understand what changed. ### The 50/72 Rule A good commit message consists of a subject line and a body. 1. **Subject:** Limit to 50 characters. Use the imperative mood ("Fix bug" not "Fixed bug"). 2. **Body:** Wrap at 72 characters. Explain *why* the change was made, not *how*. The code explains the how. ### Conventional Commits Many teams adopt a standard prefix system: * `feat:` A new feature * `fix:` A bug fix * `docs:` Documentation only changes * `style:` Formatting, missing semi-colons, etc (no code change) * `refactor:` Refactoring production code **Example:** `feat(auth): add google oauth login support` By following these rules, you make your project history a clean, readable log of the application's evolution.