🎯 What you'll learn: What version control is and why it exists, what Git is and how it was created, the difference between Git / GitHub / GitLab / Bitbucket, the 3 states of Git, and what you'll build throughout this course — a professional GitHub portfolio.
Section 1
The Problem Version Control Solves
Picture this: you're working on a report. You save it as report.docx. A few hours later you make major edits — now it's report_final.docx. Then you rethink everything — report_FINAL2.docx. Your boss wants the version from Tuesday — which file was that again?
Now imagine this across an entire software project with thousands of files and 10 developers all editing simultaneously. Without a system to track changes, you'd have chaos — overwritten code, lost work, and no way to know who changed what or when.
😱
The "file naming" approach fails fast
Without version control: app.py → app_v2.py → app_final.py → app_FINAL_fixed.py → app_FINAL_fixed2_USE_THIS.py. This is unmanageable. Version control solves this permanently.
Version control is a system that records changes to files over time so you can recall specific versions later. It answers three critical questions:
1
What changed?
See exactly which lines were added, modified, or deleted — in any file, at any point in time.
2
When did it change, and who changed it?
Every change is timestamped and attributed to a person with a name and email address.
3
Why did it change?
Developers write commit messages explaining the purpose of every change — creating a permanent, searchable history.
Section 2
What is Git?
Git is a distributed version control system — the most widely used version control tool in the world. Created by Linus Torvalds in 2005, Git lets you track every change to your project, collaborate with others, and safely experiment without breaking working code.
🎮
Real-world analogy: Save points in a video game
Think of Git like save points in a video game. Before fighting the final boss, you save. If you lose, you reload from that save point. Git lets you "save" your code at any moment (called a commit), and "reload" to any previous save point whenever something goes wrong.
📅
Created: 2005
By Linus Torvalds — the same person who created the Linux kernel.
📊
96% of Developers
Use Git according to the 2023 Stack Overflow Developer Survey.
⚡
Distributed
Every developer has a full copy of the entire project history on their machine.
🆓
Free & Open Source
Git is completely free. It runs on Windows, Mac, Linux — everywhere.
96%
Developers use Git (Stack Overflow 2023)
100M+
Repositories on GitHub alone
2005
Year Git was created
2 weeks
Time it took Linus to build the first version
Section 3
The Origin Story: Git Born in 2 Weeks
The Linux kernel project — one of the largest open-source projects in the world — used a proprietary version control system called BitKeeper. In 2005, the free license was revoked due to a community dispute.
Linus Torvalds, famously impatient with slow tools, decided to build his own version control system. His requirements were extreme: handle the Linux kernel's scale (thousands of contributors, millions of lines of code), be faster than any existing tool, and be fully distributed.
🔥
Built in 2 weeks flat
Linus started writing Git on April 3, 2005. By April 7 — just 4 days later — Git was managing its own source code. By June 16, just 10 weeks after starting, Git was hosting the Linux kernel release. What he built in those 2 initial weeks now powers virtually all software development on Earth.
The name "Git" is British slang for a stupid or unpleasant person. Linus joked: "I'm an egotistical bastard, and I name all my projects after myself. First Linux, now Git."
Section 4
Git vs GitHub vs GitLab vs Bitbucket
This is the most common confusion for beginners. These are NOT the same thing — they're related but distinct tools.
🐙
Git
The version control software installed on your computer. It runs locally and tracks your files. No internet required. Created by Linus Torvalds.
🐱
GitHub
A cloud platform built on top of Git. It stores your Git repositories online. Owned by Microsoft. Has collaboration tools: PRs, Issues, Actions. The world's largest code host.
🦊
GitLab
A GitHub competitor — also a cloud platform for Git repositories. Popular in enterprises because it can be self-hosted. Has built-in CI/CD pipelines.
🪣
Bitbucket
Atlassian's Git hosting platform. Popular in companies that use Jira and Confluence. Integrates tightly with the Atlassian tool suite.
💡
The simple analogy
Git is like Microsoft Word — the software on your computer. GitHub is like Google Drive — the cloud storage where you save and share your Word documents. You can use Word without Google Drive, but using both together is powerful.
Section 5
The 3 States of Git
This is the most important concept to understand about how Git works. Every file in a Git project exists in one of three states:
Git's Three-State Model
📝
Working Directory
Your actual files on disk. Where you edit code. Changes here are "untracked" or "modified".
📦
Staging Area
A preparation zone. You choose which changes to include in your next snapshot. Like packing a box before shipping.
🗄️
Repository
The Git database. Your committed snapshots live here permanently. The full history of your project.
Working Dir──git add──→Staging Area──git commit──→Repository
📸
Think of commits as photographs
Your working directory is the scene. The staging area is choosing which parts of the scene to include in the shot. git commit takes the photograph and permanently stores it in your album (repository). You can look at any photograph from any point in time.
Section 6
Why Every Developer Must Know Git
Git is not optional in professional software development. It is a hard requirement for virtually every development job on the planet. Here's why:
1
It's on every job description
Search any developer job on LinkedIn, Indeed, or any site. Git/GitHub appears in 98%+ of postings. Not knowing Git = not getting hired.
2
Team collaboration is impossible without it
How do 5 developers work on the same codebase simultaneously without overwriting each other? Git. There is no other industry-standard answer.
3
Safe experimentation
Create a branch to experiment. If it works, merge it. If it doesn't, delete the branch. Your main code is always safe. This freedom makes developers 10× more productive.
4
Your GitHub profile IS your resume
Employers look at your GitHub profile. Active commits, well-documented projects, and open source contributions directly affect hiring decisions.
5
Disaster recovery
Accidentally deleted important code? Pushed a bug? With Git, you can roll back to any previous state in seconds. It's your ultimate undo button.
Section 7
What You'll Build in This Course
By the end of this course, you will have built a professional GitHub portfolio — the kind that gets developer jobs. Here's what you'll accomplish:
🧑💻
GitHub Profile README
A stunning profile with badges, stats, and personality
📂
Portfolio Repository
A well-documented project with proper commits & README
🤝
Open Source PR
Your first real open source contribution
⚙️
CI/CD Pipeline
GitHub Actions workflow that tests & deploys automatically
🌿
Branch Strategy
Feature branches, PRs, and code review workflow
🏷️
Semantic Releases
Proper versioning with tags and changelogs
🧩 Knowledge Check — Lesson 1
Answer all 5 questions to test your understanding. Instant feedback on every answer.
1. Who created Git and in what year?
2. What is the difference between Git and GitHub?
3. What are the 3 states of a file in Git?
4. According to the Stack Overflow Developer Survey 2023, approximately what percentage of developers use Git?
5. What is the purpose of the Staging Area in Git?
✍️
Reflection Challenge — Lesson 1
Written reflection · Beginner Level
Challenge: Explain Version Control in Your Own Words
Without looking at the lesson, write a short paragraph (3–5 sentences) that explains:
1. What problem does version control solve?
2. What is the difference between Git and GitHub?
3. Name the 3 states of Git and what each one means.
Write this in a text file or notebook. Then compare it against the lesson to check your understanding. This exercise forces your brain to retrieve what you learned — the most powerful memorization technique.
💡 Show hints if you're stuck
Version control solves the "file_final_FINAL2.docx" problem — tracking changes over time
Git = software on your computer. GitHub = cloud website that stores Git repos.
Working Directory = your files. Staging = changes ready to commit. Repository = saved history.
The video game analogy: think "save points"
Finished this lesson?
Mark it complete to track your progress.
🎉
Lesson 1 Complete!
You understand what Git is and why it matters. Time to get it installed and configured!