Version control is the one skill every developer is expected to have. Learn how Git really works under the hood — commits, branches, merges, remotes — and how GitHub layers collaboration on top, then remember all of it with spaced repetition.
Git is a distributed version control system: every clone carries the full project history, and you record your work as commits — immutable snapshots, not diffs — that chain together into a branchable, rewindable timeline. Once that model clicks, commands like merge, rebase, reset and reflog stop being magic incantations and start being obvious.
GitHub is a hosting platform built on top of Git. It keeps the same repositories and branches, then adds the collaboration layer — pull requests and reviews, issues, releases, GitHub Actions for CI/CD, and governance controls like branch protection, CODEOWNERS and rulesets. Knowing where Git ends and GitHub begins is half the battle.
This track breaks both into bite-sized, practical questions and uses spaced repetition so the distinctions — fetch vs pull, merge vs rebase, reset vs revert — move from "I looked that up once" to genuine recall you can lean on mid-rebase.
Each module is a set of flashcards — 144 in total. Answer, review, and watch your knowledge grow from seed to full bloom.
Repositories, commits, the staging area, HEAD and Git’s object model
16 cardsBranches, merging, fast-forward, rebase, conflicts and tags
16 cardsViewing history with log, diff, show, blame and bisect
16 cardsRemotes, fetch/pull/push, tracking branches, forks and pull requests
16 cardsreset, revert, restore, stash, clean and the reflog
16 cardsCherry-pick, interactive rebase, submodules, worktrees, hooks and config
16 cardsRepositories, issues, pull requests, releases and GitHub Pages
16 cardsWorkflows, jobs, steps, runners, secrets and reusable actions
16 cardsBranch protection, CODEOWNERS, roles, orgs and security features
16 cardsA taste of the real flashcards. Pick an answer, then reveal the explanation.
What is the relationship between Git and GitHub?
What is a key difference between merging and rebasing?
What is the difference between git fetch and git pull?
What is a job in a GitHub Actions workflow?
Each card is one practical concept with multiple options. Pick what you think is right.
See the correct option plus a clear explanation, and a link to deeper docs when one is available.
A spaced-repetition engine (SM-2 or FSRS) resurfaces each card just before you would forget it.
Every team, every stack, every role touches Git. Fluency here pays off in literally every project you will ever work on.
Cards build the mental model — the object graph, HEAD, the index — so commands make sense instead of being copied from Stack Overflow.
Covers the whole arc: staging and committing, branching and merging, remotes and PRs, undoing mistakes, and power tools like rebase and worktrees.
The GitHub platform, Actions and governance modules line up with the official GitHub Foundations exam objectives — a solid recall companion.
Anyone who uses version control — new developers building a solid mental model, and experienced engineers filling gaps around rebase, the reflog, remotes, or GitHub Actions. It starts from fundamentals and builds to advanced Git.
Both, and it keeps the line between them clear. Six modules cover Git itself (core concepts, branching and merging, history, remotes, undoing changes, advanced Git); three cover the GitHub platform, GitHub Actions, and collaboration and governance.
It is a study companion, not a course or a practice exam. The GitHub platform, Actions and governance topics overlap heavily with the Foundations objectives, so it pairs well with the official material for spaced-repetition recall.
Yes, completely free. No registration or credit card is required, and all your progress is stored locally in your browser.
Plant your first seed today. Ten minutes a day turns Git from a source of fear into a tool you actually understand.