# Knowledge Check: Everyday Git --- **1. What's the difference between `git diff` and `git diff --staged`?** *Answer:* `git diff` shows unstaged changes (working tree vs. last commit); `git diff --staged` shows what's currently staged and about to be committed (staging area vs. last commit). --- **2. Why is `git add .` potentially risky compared to `git add `?** *Answer:* It stages EVERYTHING currently changed in the directory, which can accidentally include files you didn't mean to commit — checking `git status` first (or using targeted `git add`) avoids this. --- **3. What makes a commit message actually useful months later?** *Answer:* Describing WHAT changed and ideally WHY, clearly enough that someone (including future-you) reading `git log` understands the change without re-reading the full diff. --- **4. You run `git init` in a directory that already has an existing Git repository. What happens?** *Answer:* `git init` only needs to run once per project — running it again in an already- initialized repository is harmless (it won't destroy existing history) but is never actually necessary. ## Instructor Notes **Facilitation:** Question 2 is a good moment to establish "check status before staging broadly" as a house habit for the rest of the course. **Approximate timing:** 5 minutes.