Git & GitHub
Learn version control from absolute zero: commits, branches, merging, undoing mistakes safely, GitHub, pull requests, and the collaboration workflow every software team on earth uses daily.
Why learn Git & GitHub?
Every software team on earth coordinates its work through Git, and not knowing it well is one of the fastest ways to look junior in a new job. This course teaches version control from absolute zero: what problem it solves, your first repository, and the daily commands that become muscle memory.
It is 8 modules and 33 lessons: your first repository and the three-state model, undoing mistakes safely with discard, amend, reset, and revert, branches and merging with real conflict resolution, GitHub and remotes, collaborating through pull requests and code review, and a toolbelt module covering stash, cherry-pick, and tags.
It ends with a capstone, Capstone: Ship a Project with Git, that walks one realistic project lifecycle: init, gitignore, branches, a pull request, a review, a conflict, a revert, and a tagged GitHub release.
Who this course is for
- Complete beginners who have never made a commit
- Developers who use Git by memorized ritual and panic the moment something goes wrong
- Anyone about to join a team workflow built on pull requests and code review
- Self-taught coders who have never actually resolved a merge conflict on purpose
What you'll build and practice
- A real repository with meaningful commits and a clean history
- Confidence undoing mistakes: discarding, amending, resetting, and reverting without fear
- Branches merged back together, including a hand-resolved merge conflict
- A GitHub pull request taken through review to merge
- The course capstone: a full project lifecycle from init to a tagged release
What you'll learn
Git & GitHub is organized into 8 focused modules. By the end you'll be comfortable with:
- Why Git Exists
- Your First Repository
- Undoing Things Safely
- Branches & Merging
- GitHub & Remotes
- Collaborating with Others
- The Git Toolbelt
- Putting It All Together
Course curriculum
33 lessons across 8 modules. Lessons marked Free preview are readable without an account.
Module 1. Why Git Exists
The problem version control solves, what Git actually is, Git vs GitHub, and getting set up.
- 6mWhy Version Control ExistsFree preview
final_v2_REALLY_final.py — the universal problem every programmer hits, and the tool category that solves it.
- 6mWhat is Git?Free preview
The version control system that won — how it thinks, and the three words you'll use forever: repository, commit, local.
- 6mGit vs GitHubFree preview
One is a tool, the other is a website — untangle the most common beginner confusion in a few minutes.
- 7mInstalling & Configuring Git
Install Git on your system and sign your future commits — two config commands you run once per computer.
Module 2. Your First Repository
Create a repository, understand the three states, stage and commit changes, read history, and ignore the right files.
- 7mCreating Your First Repository
git init turns any folder into a repository, and git status becomes the command you'll run more than any other.
- 7mThe Three States of a File
Untracked, modified, staged — learn to read git status like a dashboard and Git stops being mysterious.
- 8mStaging and Committing
Arrange the shot with git add, take the photo with git commit — the two-step rhythm at the heart of all Git.
- 7mWriting Good Commit Messages
"fix stuff" helps nobody. Learn the two habits — small commits, clear messages — that make history worth having.
- 8mReading History: log, diff, show
Your album has photos in it now — learn to browse them, compare them, and answer 'what changed?' precisely.
- 8mIgnoring Files: .gitignore
Secrets, build junk, and 500MB dependency folders don't belong in history — teach Git what to never track.
Module 3. Undoing Things Safely
Git's superpower is that mistakes are recoverable — discard, amend, reset, and revert with confidence.
- 7mDiscarding Changes: git restore
"I've made a mess and just want the file back how it was" — the gentlest undo, for changes you haven't committed.
- 7mFixing the Last Commit: --amend
Typo in the message? Forgot a file? Retake the last photo instead of living with it.
- 8mRewinding Commits: git reset
Take commits back off the timeline — keeping your work — and learn exactly where the danger zone begins.
- 8mUndoing Shared History: git revert
The undo that never rewrites history — plus the complete map of which undo tool fits which mistake.
Module 4. Branches & Merging
Work on ideas in parallel timelines, merge them back together, and resolve conflicts calmly.
- 7mWhat is a Branch?
Parallel timelines for your project — the concept that turns Git from a save-button into a superpower.
- 8mCreating and Switching Branches
git switch -c and friends — create timelines, hop between them, and watch your files transform on cue.
- 8mMerging Branches
Weave a finished feature back into main — fast-forwards, merge commits, and the one rule about where to stand.
- 9mResolving Merge Conflicts
The moment every beginner dreads, demystified: conflicts are just Git asking a fair question — and you know how to answer.
- 9mPractice: Branch Like You Mean It
No new ideas — run a full week of solo development: branches, an urgent hotfix, merges, and one honest conflict.
Module 5. GitHub & Remotes
Put your repository in the cloud: remotes, cloning, push, pull, and fetch.
- 7mGetting Started with GitHub
Create your account, meet the interface, and understand what a repo looks like when it lives online.
- 8mConnecting a Remote: origin & push -u
Introduce your local repo to its GitHub twin and send your history online for the first time.
- 7mCloning: Any Repo, Anywhere
One command downloads any repository with its full history — new laptop, teammate onboarding, or any open-source project on earth.
- 8mStaying in Sync: push, pull, fetch
The three sync verbs — including the pull-before-push habit that prevents the classic rejected-push moment.
- 8mPractice: Two Machines, One Repo
No new ideas — live a realistic laptop-and-desktop week: clone, drift, sync, one rejected push, zero lost work.
Module 6. Collaborating with Others
Pull requests, code review, forks, and the daily team workflow.
- 8mPull Requests
"Please look at my branch before it joins main" — the mechanism at the center of all professional collaboration.
- 7mCode Review: Giving & Receiving
The conversation inside the PR — how professionals critique code kindly and receive critique calmly.
- 8mForking: Contributing to Any Project
No push access? No problem. The fork → clone → branch → PR dance behind every open-source contribution.
- 8mThe Daily Team Workflow
Assemble every piece into the loop professional developers run many times a week — and keep branches from going stale.
Module 7. The Git Toolbelt
Stash, cherry-pick, tags & releases, and professional habits.
- 8mStashing Work in Progress
The drawer for half-done work — switch contexts instantly without committing a mess.
- 7mCherry-Pick: One Commit, Elsewhere
Copy exactly one commit from another branch — the surgical tool for 'I need just THAT fix, now'.
- 8mTags & Releases
Bookmark the commits that shipped — semantic versioning, annotated tags, and GitHub Releases.
- 8mProfessional Git Habits
The compact code of conduct: conventional commits, what never enters a repo, and the golden rules that keep teams sane.
Module 8. Putting It All Together
One realistic project lifecycle using everything in the course.
- 12mCapstone: Ship a Project with Git
One continuous story — from git init to a reviewed, tagged v1.0.0 release with an outside contributor — using every module.
Frequently asked questions
- Is this course only about the git command line, or does it cover GitHub too?
- Both. Modules 1 through 4 and 7 cover Git itself: commits, undoing changes, branching, and the toolbelt. Modules 5 and 6 cover GitHub specifically: remotes, cloning, push and pull, pull requests, and code review, which is where most real collaboration actually happens.
- I always panic when Git shows a merge conflict. Will this course fix that?
- That is the explicit goal of Module 4, Branches & Merging, which teaches you to resolve conflicts calmly rather than avoid branching altogether. The capstone deliberately includes a conflict so you practice it inside a low-stakes project first.
- Do I need any prior command-line experience to start?
- No, though pairing this with Linux Essentials, the companion track from the same course split, gives you a stronger terminal foundation. Git & GitHub itself starts from your very first repository and assumes nothing.
- Does the course cover pull requests and code review, not just solo Git commands?
- Yes, an entire module: Collaborating with Others covers pull requests, code review, forks, and the daily workflow real teams use, not just the commands one developer runs alone.
- How is this different from the Linux Essentials track?
- They were split from one combined course in July 2026 so each could go deeper. Linux Essentials covers the terminal, files, permissions, processes, and SSH. This track covers version control specifically: commits, branches, GitHub, and team collaboration. Many learners take both back to back.
Ready to start Git & GitHub?
Create a free account to track progress, earn XP, and get instant help from the AI tutor as you code.
Create your free account