Level 1 · Complete beginner · 10 min
Why Version Control Exists
Learn why every professional project uses version control instead of files named final_v2_REAL.zip.
What you will learn
- Explain the problems that arise without version control
- Describe what a version control system tracks
- Name Git as the dominant modern version control tool
- Recognize why version control matters even for solo projects
The idea
Version control is a system that records every change to a set of files over time, who made it, and why. Instead of guessing which file is the latest, you have one project with a full timeline of changes you can inspect or rewind.
Why does this matter?
Without it, teams end up with folders like project_final, project_final_v2, project_final_v2_USE_THIS. Nobody can safely experiment, two people editing the same file overwrite each other, and there is no way to see what changed or undo a bad edit with confidence.
A real-world analogy
Think of a video game with save points. Without saves, one mistake means starting over. With saves, you can try something risky, and if it goes wrong, load an earlier point. Version control is a save system for your code, plus a way to compare any two saves and merge separate playthroughs together.
See it in code
$ git --version git version 2.43.0 $ mkdir recipe-app $ cd recipe-app $ git init Initialized empty Git repository in /recipe-app/.git/
Line by line
git --versionConfirms Git is installed and shows which version, so commands behave as expected.
mkdir recipe-app && cd recipe-appCreates a plain folder -- at this point Git knows nothing about it.
git initTurns the current folder into a Git repository by creating a hidden .git directory that will store the entire history.
What do you think happens?
After running git init in an empty folder, has any file history been recorded yet?
Have a guess before you read on. Guessing wrong is part of learning it.
Worth knowing
Common mistake: thinking Git automatically backs up every file the moment it exists in the folder. Git only records what you explicitly tell it to, in explicit snapshots called commits -- covered in the next lesson.
The proper words for it
- Version control system (VCS)
- Software that tracks changes to files over time and who made them.
- Git
- The most widely used version control system, running locally on your machine.
- Repository (repo)
- A project folder that Git is tracking, identified by its hidden .git directory.
Where you'll meet this
Virtually every professional software team, and most solo developers, use Git. It is also used outside code: writers track manuscript drafts, and configuration files for entire companies are versioned in Git.
Lesson recap
- Without version control, teams rely on fragile file-naming and cannot safely undo mistakes
- A VCS records snapshots of a project over time, with who changed what
- Git is the dominant modern VCS and works locally without needing the internet
- git init turns a plain folder into a Git repository, but records nothing until you commit
Still fuzzy on any of this?
That's normal, and it's not a dead end. Pick a different way to hear it.
Quick check
1. You and a teammate both edit the same file without version control and email zip files back and forth. What problem does Git solve here?
2. You run `git init` in a new folder. What actually happens?
3. Why is "just keep folders named v1, v2, v3-final" a worse strategy than Git?