Lesson 1 of 23
What version control is
Before any commands, understand why Git exists. Version control is a system that records the history of your project — every change, when it was made, and by whom — so you can review the past, undo mistakes, and work with others without chaos. Git is the world's most popular version control system, and knowing it is essential for virtually any software work.
The problem it solves
Think about how people manage document versions without a tool: report.docx, report-v2.docx, report-final.docx, report-final-REALLY.docx. It's a mess — you can't tell what changed, you can't easily go back, and combining two people's edits is a nightmare. Now imagine that for a whole project with hundreds of files and multiple people. Version control solves exactly this.
With Git, you keep one set of files, and Git remembers every version behind the scenes. You can:
- See the full history — every change ever made, with a message explaining it.
- Go back in time — return to any earlier version if something breaks.
- Understand what changed — see exactly which lines changed between versions.
- Work with others — combine everyone's changes intelligently, without overwriting each other.
- Experiment safely — try ideas on a "branch" without risking the working version.
What Git actually is
Git is a tool that lives on your computer and tracks a project folder (called a repository, or "repo"). As you work, you periodically save snapshots of your project — called commits — each with a message describing what you did. Git stores the complete history of these snapshots, so your project's entire evolution is recorded and recoverable.
Crucially, Git is distributed: every copy of a repository contains the full history. You work with Git locally (on your own machine, even offline), and can sync with others through a shared copy — commonly on GitHub (a website that hosts Git repositories, covered later). Git is the tool; GitHub is a popular place to store and share Git repos online.
Why this matters for you
Version control isn't optional in real software work — it's fundamental. Every professional developer uses Git daily. It's how teams collaborate, how open-source projects accept contributions from thousands of people, and how you protect your own work from loss and mistakes. Even working solo, Git gives you a safety net (undo anything) and a clear history of your project. Learning it is one of the highest-value skills for anyone who writes code.
The mental model to build
As you learn, hold this picture: your project is a folder Git watches. You make changes, then commit them as labelled snapshots. Git keeps the whole chain of snapshots — a timeline you can inspect, revisit, and branch from. Later, you sync that timeline with a shared copy online (GitHub) to collaborate. Everything in this course builds on this: snapshots over time, synced with others.
The mistake beginners make
Thinking Git is just "backup" or "save" — it's much more: a complete, navigable history with the power to undo, compare, branch, and collaborate. Or being intimidated by Git's reputation for complexity — the everyday Git you'll use (a handful of commands) is very learnable, and that's most of what anyone uses. Focus on the core workflow (this course), build the mental model, and Git quickly becomes a comfortable, indispensable tool.
Your turn
Think about a project you've worked on (code, writing, anything). What moments would version control have helped — a change you wish you could undo, a "which version is latest?" confusion, or combining edits with someone? Keep those in mind; they're exactly what Git solves.
Your turn
- Understand version control as a recorded, navigable HISTORY of your project — not just backup.
- Grasp what Git tracks: a repository (project folder) as a series of commits (labelled snapshots).
- Know the split: Git is the tool (local, on your machine); GitHub is a popular place to host and share repos.
Key points
- Version control records your project's full history — every change, so you can review, undo, compare, and collaborate.
- Git tracks a repository (project folder) as a series of commits (labelled snapshots) over time.
- Git is distributed: you work locally with the full history, and sync with others (often via GitHub).
- It's fundamental to real software work — every professional uses it daily; the everyday commands are very learnable.
Q&A · 0
Enrol to ask questions and join the discussion.
No questions yet — be the first to ask.