Phase 1: Git for Real Work · ~35 minutes · git
Commit Hygiene and Code Review
git blame points at a commit that just says "fixes." Fixes what? Why? Six months from now, that message is the only context you'll have — and it tells you nothing.
Hiring signal: Writes commit messages for the reader six months from now, not for themselves right now
What you will learn
- Write commit messages that explain what changed and why, not just restate the diff
- Apply the Conventional Commits pattern
- Explain what a real code review looks for beyond 'does it work'
- Identify what's missing from a commit message for a future reader with zero context
Introduction
Type: Learn Languages: Git Prerequisites: Lesson 02 (Branching and Merging for Real Work) Time: ~35 minutes
Objective
Learning objectives
- Write commit messages that explain what changed and why, not just restate the diff
- Apply the Conventional Commits pattern
- Explain what a real code review looks for beyond "does it work"
- Identify what's missing from a commit message for a future reader with zero context
What you're building
- Take 4 real diffs you've made in earlier labs (this course or Course 01), each currently committed with a vague message ("fix", "update", "changes", "wip" — recommit with these deliberately bad messages first if needed)
- Rewrite each commit message using the Conventional Commits pattern, genuinely explaining what changed and why — not restating the diff in slightly different words
- Pick one small diff (5-20 lines) and do a structured review pass on it in
review_notes.txt, explicitly addressing: is the design reasonable, is anything more complex than needed, is it adequately tested, would a stranger understand it - Include, in a comment, one real example of a commit message you improved, showing both the before and after
A commit message reads: updated the file. What's missing, specifically, for a reader six months from now with zero context?
"updated the file" carries essentially zero information — it's true of every commit that has ever existed or ever will. It doesn't say which file, doesn't say what about it changed (added something? removed something? fixed a bug? changed behavior?), and doesn't say why. This is the "fixes" trap from this lesson's opening scenario in a slightly different costume — technically a commit message, functionally useless to the exact reader (future you, or a teammate) it's supposed to serve.
Unlock the full lesson
You've read the first 2 sections. The rest of this lesson covers The Problem, Check Yourself, Key Terms & Next — plus a hands-on lab, quiz, and project artifact.
Create a free account to unlock Phase 0 and Phase 1 of every course — no credit card.
Browse all courses · View pricing · DeVenture Academy