The Problem Git Solves
Have You Ever Done This?
Imagine you're writing an essay. You save different versions:
essay.docx
essay_v2.docx
essay_v2_FINAL.docx
essay_v2_FINAL_REALLY_FINAL.docx
essay_v2_FINAL_REALLY_FINAL_updated.docx
Sound familiar? This is the version control problem. You need to:
- Track what changed and when
- Go back to a previous version if something breaks
- Work with others without overwriting their changes
What is Git?
Git is a version control system — software that tracks every change you make to your files. Think of it as an unlimited "undo" button with a detailed log of every change.
| Without Git | With Git |
|---|---|
| essay_FINAL_v3.docx | One file, full history |
| "Who deleted that line?" | See exactly who changed what |
| Emailing files back and forth | Everyone works on the same project |
| Afraid to try new ideas | Create a branch, experiment freely |
Git vs GitHub
| Git | GitHub |
|---|---|
| Software on your computer | Website that hosts Git projects |
| Works offline | Requires internet |
| Tracks file history | Adds collaboration features |
| Free, open-source | Free for public projects |
Who Uses Git?
Almost every software company in the world uses Git:
- Google, Microsoft, Apple, Meta
- Netflix, Spotify, Airbnb
- Open-source projects like Linux, React, Python
Learning Git is essential for any tech career.
Key Vocabulary
| Term | Meaning |
|---|---|
| Repository (repo) | A project folder tracked by Git |
| Commit | A saved snapshot of your changes |
| Branch | A parallel version of your project |
| Merge | Combining two branches together |
| Remote | A copy of your repo on a server (like GitHub) |