# Demonstration: The Full Cycle, End to End ## OBSERVE ``` $ git init $ git status --short (nothing — empty repository) ``` ## HYPOTHESIS Predict what happens to `git status` after creating a new file. ## INSPECT ``` $ echo "v1" > app.py $ git status --short ?? app.py ``` ## CHANGE ``` $ git add app.py $ git diff --staged +v1 $ git commit -m "Add initial app.py" ``` `git diff --staged` shows exactly what's ABOUT to be committed — a real, final check before it becomes permanent. ## VERIFY ``` $ git log --oneline 3f9a1c2 Add initial app.py $ git status --short (clean) ``` The complete cycle, verified with real evidence at each step — not "I think I committed it," but confirmed via `git log`. ## Instructor Notes **Demo goal:** Show `git diff --staged` as the final safety check before a commit becomes permanent — a habit worth building explicitly, not just mentioning in passing. **Approximate timing:** 8 minutes live. **Common mistake to watch for:** skipping `git diff`/`git diff --staged` entirely and committing on faith — a good moment to ask "how would you know if you accidentally staged the wrong thing?"