COURSE 01 · COMPLETE BEGINNER
FREEGit & GitHub for Beginners
A three-day course for complete beginners, from your first commit to your first pull request. Day 1 gives your project a memory, Day 2 adds branching and merge conflicts, Day 3 sends your code to GitHub. Windows-first — every command works letter-for-letter the same on Mac and Linux.
29 lessons · 3 modules · ~140 min
📁 my-essay
├── essay_final.docx
├── essay_final_v2.docx
├── essay_final_v2_REAL.docx
└── essay_final_v2_REAL_use-this-one.docx
Intro
The problem you already have, and the plan to fix it.
Memory. A diary. An undo button.
What Git gives you
Memory, a diary, an undo button, and teamwork.
The three zones
THE diagram — the only theory in the whole course.
Commits are snapshots
A photo of your whole project, frozen forever.
$ git init
Initialized empty Git repository
git init — give a folder a memory
Turn any folder into a repository.
$ git status
Untracked files: notes.txt
git status — your compass
The command that never changes anything.
$ git add notes.txt
→ staged ✓
git add — stage the shot
Choose what goes in the next photo.
$ git commit -m "Add notes"
[main a1b2c3d]
git commit — click the shutter
Take the snapshot, write down why.
The loop — 90% of Git
edit → add → commit. Repeat forever.
Time travel 🕰️
NewThe payoff — rewind your whole project, live.
Recap + practice
Your six commands, homework, and what's next.
The line splits.
Same pipeline, new trick
60-second recap, then: today the line splits.
Experimenting without fear
What a branch actually is, demystified.
$ git switch -c idea
Switched to a new branch 'idea'
Create a universe and step in
git branch, git switch, and the shortcut that fuses both.
Prove the universes are separate
Commit on one branch, watch a file vanish on the other.
$ git merge idea
Updating → Fast-forward
Merging — the happy case
Bring the experiment home. No drama, no merge commit.
Manufacture a conflict — on purpose
Two universes edit the same line. Let's watch it collide.
A conflict is a question, not an error
Read the markers Git leaves behind — calmly.
Resolve it in three steps
NewEdit, stage, commit — the universes join.
When to branch (always, basically)
The pro habit in one line.
Recap + practice
Your Day 2 commands, a leveled playground, and homework.
Two copies, one truth
The mental model: your laptop and GitHub, in sync on command.
$ git clone <url>
done. 2 commits, all history.
Clone — copy the project down
Download the whole repo, every commit ever made.
$ git push
Pushed 1 commit → origin/main ☁️
Push — send your commits up
Commit locally, then watch the laptop pull ahead of GitHub.
Pull — when someone else moves first
Push gets rejected. The fix is always the same dance.
The exercise: introduce yourself, the Git way
branch → commit → push → PR → review → merge.
You just did real open source
NewYour about file lands on the team roster.
What we deliberately skipped
A map of what to look up next, when you need it.
Recap + practice
Your Day 3 commands and what to build next.