Why Version Control?
The Google Docs history analogy — and why every project needs it
The problem
You’ve been working on a project. It’s going great. Then you make a change and everything breaks. You press Ctrl+Z a few times, but it’s not undoing what you need. You try more changes to fix it. Now things are even worse, and you can’t remember what the working version looked like.
Sound familiar? This happens to everyone — beginners and experts alike.
The Google Docs analogy
You know how Google Docs automatically saves your document and keeps a version history? You can go to File → Version history → See version history and see every change that was ever made, by whom, and when. You can even restore an old version.
Git does the same thing, but for your entire project.
Every time you make a “save point” in git (called a commit), it takes a snapshot of all your files. You can always go back to any previous snapshot. Nothing is ever truly lost.
| Google Docs | Git |
|---|---|
| Auto-saves your document | You manually save (commit) your project |
| Version history shows all changes | git log shows all commits |
| You can restore old versions | git checkout or git revert goes back |
| Shows who made which change | Commits record who and when |
| Share with collaborators | Push to GitHub for collaboration |
Why you need this as an orchestrator
When you’re working with AI CLI tools, you’re making lots of changes quickly. Claude Code might edit 15 files in one go. Gemini CLI might refactor your entire project structure. Sometimes those changes are exactly right. Sometimes they’re not.
With git:
- Before a big AI task: Save a commit. “Here’s my working project.”
- After the AI makes changes: If it’s great, commit again. If it’s broken, revert to the previous commit.
- Experimenting: Try something wild. If it doesn’t work, go back with one command.
Without git, you’re flying without a safety net. With git, you can always get back to a known-good state.
You wouldn’t play a hard level without saving first. You shouldn’t make big changes to a project without committing first. Each commit is a save point you can return to at any time.
What is git?
Git is a version control system. It’s a program that runs on your computer and tracks changes to files in a folder. It was created in 2005 by Linus Torvalds (who also created Linux) and is used by virtually every software project on Earth.
GitHub is a website that hosts git repositories online. It’s like Google Drive for git projects. Git works on your computer; GitHub stores your projects in the cloud so you can share and collaborate.
| Term | What it is |
|---|---|
| git | The program that tracks changes on your computer |
| GitHub | A website that hosts your git projects online |
| Repository (repo) | A project folder that git is tracking |
| Commit | A saved snapshot of your project |
| Branch | A separate line of work (like a parallel universe) |
| Push | Upload your commits to GitHub |
| Pull | Download new commits from GitHub |
Check if git is installed
git --versionIf you see a version number (like git version 2.43.0), you’re set.
If not, install it:
- macOS:
xcode-select --install(orbrew install git) - Windows: Download from git-scm.com
- Linux:
sudo apt install git(Ubuntu/Debian) orsudo dnf install git(Fedora)
One-time setup
After installing, tell git who you are (used in commit messages):
git config --global user.name "Your Name"git config --global user.email "your@email.com"That’s all the setup you need. In the next lesson, we’ll create your first repository and make your first commit.
What is a git commit?