# Demonstration: Watching a File Move Between the Three Areas ## OBSERVE ``` $ echo "draft" > report.txt $ git status --short ?? report.txt ``` `??` means: Git sees this file, but it's in neither the staging area nor the repository yet — purely in the working tree. ## HYPOTHESIS Predict what `git status` will show after `git add report.txt`. ## INSPECT ``` $ git add report.txt $ git status --short A report.txt ``` `A` (in the LEFT column, which represents the staging area) means: staged, ready to commit. ## CHANGE ``` $ git commit -m "Add report draft" $ git status --short (nothing — clean) ``` ## VERIFY ``` $ git log --oneline -1 a1b2c3d Add report draft ``` The file traveled through all three areas exactly as the model predicts: working tree (`??`) → staging area (`A`) → repository (a permanent commit in `git log`). ## Instructor Notes **Demo goal:** Make `git status`'s output legible by directly connecting its symbols (`??`, `A`, clean) to the three-area model just taught, rather than treating them as arbitrary codes to memorize. **Approximate timing:** 8 minutes live. **Common mistake to watch for:** students reading `git status` output without connecting it back to WHICH of the three areas each symbol refers to — reinforce the mapping explicitly.