Reading got you here. This module is where reading turns into muscle memory — the only thing that actually sticks.
00 → Introduction & Setup Version control concepts, install, config
01 → Git Fundamentals Staging, commits, branching, merging — the daily loop
02 → Git + GitHub SSH, remotes, push/pull, GitHub Flow, Pages
03 → Contributing to Open Source Fork, clone, pull requests
04 → Undo & Recovery Revert, reset, amend, rebase, reflog
05 → Advanced Git gitignore/attributes, LFS, signing, hooks, submodules, CI/CD
06 → Certification Prep Structured review + exam-style practice
07 → Exercises & Study Plan ← you are here
Each module has its own Quick Check-In at the end — if you skipped any of those, this is a good moment to go back and actually answer them before diving into the exercises below.
| Pace | Schedule | Total Time |
|---|---|---|
| Relaxed | 1 module every 2-3 days, 30-45 min/day | ~3 weeks |
| Focused | 1 module/day | ~1 week |
| Cram (not recommended, but real) | 2-3 modules/day | 2-3 days |
[!TIP] The “Relaxed” pace isn’t the slow option for people who can’t commit — it’s genuinely the one that produces better retention. Git concepts (especially branching, rebase, and conflict resolution) benefit enormously from spaced repetition: read it, sleep on it, use it in a real scenario, revisit it. Cramming all 8 modules in one sitting produces recognition (“oh yeah, I read that”), not the actual recall you need mid-interview or mid-incident.
Suggested week-by-week (Focused pace):
gantt
title GIT Tutorials — Suggested 1-Week Focused Plan
dateFormat YYYY-MM-DD
section Foundations
Module 00 + 01 :done, m1, 2026-01-01, 1d
section GitHub
Module 02 :m2, after m1, 1d
Module 03 :m3, after m2, 1d
section Safety Net
Module 04 :m4, after m3, 1d
section Advanced
Module 05 :m5, after m4, 1d
section Consolidate
Module 06 :m6, after m5, 1d
Module 07 + Capstone :m7, after m6, 1d
git init a new folder for a genuinely simple project (a personal notes app, a to-do list —
doesn’t matter what, it just needs to exist)maingit log --oneline --graph --all and actually read the shape of what you builtorigingit pull it down locallygood first issue label (search GitHub’s issue
filters, or check goodfirstissue.dev)git reset --hard HEAD~2 (deliberately “lose” 2 commits)git reflog to find and recover them.gitignore to a project using gitignore.iopre-commit hook that runs a linter or even just echo "committing..." as a first testDo this as one continuous exercise, using everything from Modules 00–05 together — this is the single best way to confirm the concepts actually connected into one coherent mental model, not just isolated facts:
.gitignore properly from the startmain--amend it before pushingrevert it cleanlypre-commit hook that checks something trivialIf you can do all 10 steps without needing to look anything up beyond a quick syntax check, you’ve completed this course in the way that actually matters — not “read about Git” but “can use Git.”
Quick self-test — cover the answers, go through all 20, then check yourself.
git status show you?"fixed it" a bad commit message?git stash instead of committing?git branch -d and git branch -D?git log --oneline show that plain git log doesn’t (in terms of readability)?git fetch and git pull?upstream refer to?git revert vs git reset — which is safe on a shared, already-pushed branch?--soft, --mixed, and --hard reset?git reflog recover, and what can it never recover?.gitignore vs .gitattributes?<<<<<<</=======/>>>>>>> markers?Answers: every single one of these is directly covered in Modules 00–05 — if any felt shaky, that’s your specific, targeted review list. Don’t re-read whole modules; jump straight to the section that answers the question you missed.
You started this course not knowing the difference between Git and GitHub. You now know staging, committing, branching, merging, remotes, forking, pull requests, reverting, resetting, rebasing, reflog-based recovery, conflict resolution, hooks, and CI/CD integration — genuinely the full range of what “knows Git” means in a real job.
What actually cements this long-term:
[!IMPORTANT] If you found this course useful, the best way to “pay it forward” is exactly what got you here: explain a Git concept to someone else, using a real-life analogy instead of jargon. That’s the whole teaching philosophy this course was built on — pass it on.
| ⬆ Back to Top | 🏠 Main README | ← Previous: Certification Prep |
You went from git init to resolving merge conflicts and recovering “lost” commits with reflog. That’s not nothing — that’s Git.