# Demonstration: A Complete Clone-to-Push Round Trip ## OBSERVE A bare (remote-style) repository already exists, currently empty. ``` $ git clone /srv/demo-remote.git /srv/demo-clone warning: You appear to have cloned an empty repository. ``` Cloning an empty remote is completely normal — it just means no commits exist there yet. ## HYPOTHESIS Predict what `git remote -v` will show inside the new clone. ## INSPECT ``` $ cd /srv/demo-clone && git remote -v origin /srv/demo-remote.git (fetch) origin /srv/demo-remote.git (push) ``` Automatically configured as `origin` — exactly as the lesson described, with no extra setup. ## CHANGE ``` $ echo "# Demo Project" > README.md $ git add README.md $ git commit -m "Add README" $ git push origin main ``` ## VERIFY ``` $ git --git-dir=/srv/demo-remote.git log --oneline 3f9a1c2 Add README ``` Checking the REMOTE directly (not the clone) proves the push actually reached it — the commit now exists in two places, in sync. ## Instructor Notes **Demo goal:** Prove the push actually worked by inspecting the REMOTE side independently, not just trusting the clone's own `git log`. **Approximate timing:** 8 minutes live. **Common mistake to watch for:** assuming a successful `git push` with no error message means success without ever double-checking — worth reinforcing the "verify independently" habit from earlier ROOT_ modules.