Further Learning Resources
Git rewards deliberate study — once the mental model clicks, the commands stop feeling arbitrary. This page collects the best free and paid resources, organised by how you like to learn: reading, doing, or watching. It ends with a suggested path from absolute beginner to confident power user.
Official Documentation
Start here. The official material is authoritative, free, and surprisingly readable. The Pro Git book in particular is the single best resource for genuinely understanding Git rather than just memorising commands.
git-scm.com— the official Git website, with downloads, reference docs, and the full Pro Git book online.git-scm.com/book— Pro Git (2nd edition) by Scott Chacon and Ben Straub. Free in full, including the chapter on Git internals. The definitive text.git-scm.com/docs— the complete reference manual for every command and option (the same content asgit help <command>).The built-in manual: run
git help <command>orgit <command> --helpto open the offline man page for any command.
Interactive and Hands-On Learning
Git concepts like branching, merging, and rebasing make far more sense when you can see the commit graph move. These tools let you experiment in a sandbox with zero risk to a real repository.
learngitbranching.js.org— Learn Git Branching. A visual, gamified sandbox that animates the commit graph as you run real commands. The best way to internalise branching and rebasing.skills.github.com— GitHub Skills. Free guided courses run as interactive GitHub repositories, covering everything from your first commit to advanced workflows.gitimmersion.com— Git Immersion. A guided tour of hands-on labs you work through in your own terminal.git-school.github.io/visualizing-git— Visualizing Git. Type commands and watch a live diagram of commits, branches, and HEAD.ohmygit.org— Oh My Git! An open-source game that teaches Git through playable levels.
Books
Pro Git (2nd ed.) — Scott Chacon & Ben Straub. The standard reference; free online, comprehensive, and covers internals.
Version Control with Git (3rd ed.) — Prem Kumar Ponuthorai & Jon Loeliger (O’Reilly). A deeper, more systematic treatment of how Git works.
Git Pocket Guide — Richard Silverman (O’Reilly). A compact task-oriented reference for quick lookups.
Cheat Sheets and Quick References
education.github.com/git-cheat-sheet-education.pdf— GitHub’s official one-page printable cheat sheet.about.gitlab.com/images/press/git-cheat-sheet.pdf— GitLab’s cheat sheet, organised by workflow.ndpsoftware.com/git-cheatsheet.html— an interactive cheat sheet that shows which commands move data between the working tree, index, local repo, and remote.This site’s own Git Command Cheatsheet page — a dense, categorised command reference.
Video Courses and Channels
freeCodeCamp “Git and GitHub for Beginners” on YouTube — a free, full-length crash course.
The Net Ninja “Git & GitHub Tutorial” playlist on YouTube — short, focused, beginner-friendly lessons.
Fireship “Git Explained in 100 Seconds” and “13 Advanced Git Tips” — fast, high-density refreshers.
Udemy / Coursera — paid structured courses (e.g. “The Git & GitHub Bootcamp” by Colt Steele) if you prefer a guided syllabus with exercises.
Practice Platforms
Contribute to an open-source project on GitHub — nothing teaches branching, PRs, and conflict resolution like real collaboration. Look for repos tagged
good first issue.Create a throwaway repo and deliberately break it — run
git reset --hard, recover withreflog, force a merge conflict, then resolve it. Mistakes in a sandbox are free.exercism.organd similar platforms use Git-based submission workflows that build everyday fluency.
Communities
stackoverflow.com(thegittag) — the largest archive of solved Git problems; chances are your exact issue has been answered.reddit.com/r/git— community discussion, workflow advice, and troubleshooting.reddit.com/r/github— GitHub-specific questions about PRs, Actions, and hosting.The official Git mailing list (
git@vger.kernel.org) — where Git itself is developed, for the deeply curious.
Resources by Category
Resource | Type | Cost | Best For |
|---|---|---|---|
Pro Git book (git-scm.com/book) | Book / docs | Free | Deep understanding, including internals |
Learn Git Branching | Interactive | Free | Visualising branches, merge, and rebase |
GitHub Skills | Interactive course | Free | Guided, GitHub-centric workflows |
Official reference (git-scm.com/docs) | Reference | Free | Looking up exact flags and behaviour |
freeCodeCamp Git course | Video | Free | Beginners who learn by watching |
The Git & GitHub Bootcamp (Udemy) | Video course | Paid | Structured syllabus with exercises |
GitHub cheat sheet (PDF) | Cheat sheet | Free | Printable desk reference |
Stack Overflow (git tag) | Community | Free | Solving a specific error fast |
Oh My Git! | Game | Free | Playful, low-pressure practice |
Version Control with Git (O’Reilly) | Book | Paid | Systematic, in-depth study |
Tools Worth Exploring Next
Once the command line feels comfortable, these tools make day-to-day Git faster and clearer. Learn the CLI first, though — GUIs hide the model you need to understand.
lazygit— a fast terminal UI for staging, committing, branching, and rebasing without leaving the keyboard.tig— a text-mode interface for browsing history, diffs, and blame.gitkandgit gui— the lightweight GUIs that ship with Git itself.GitKraken, Sourcetree, Fork — graphical clients that visualise complex histories well.
git-delta— a syntax-highlighting pager that makesgit diffandgit log -pdramatically more readable.GitHub CLI (
gh) — manage pull requests, issues, and Actions from the terminal.
A Suggested Learning Path
If you are not sure where to start, follow this progression. Each step builds on the previous one, moving from everyday survival skills to the deeper model that lets you reason about any situation.
Install Git and configure your name and email. Make your first repo, commit, and push to GitHub. (GitHub Skills “Introduction to GitHub”.)
Master the core loop: status, add, commit, push, pull. Understand the three areas — working tree, staging area, and repository.
Learn branching and merging hands-on with Learn Git Branching until the commit graph feels intuitive.
Practise collaboration: forks, pull requests, code review, and resolving merge conflicts on a real or sandbox project.
Read the first few chapters of Pro Git to solidify the concepts behind the commands you have been using.
Learn the recovery toolkit: reflog, reset (soft/mixed/hard), revert, and stash. Practise breaking and fixing a throwaway repo.
Get comfortable with rebase (interactive squashing, rewording, reordering) and cherry-pick for clean history.
Read the Git Internals chapter of Pro Git — objects, refs, and the SHA model. This is what separates users who memorise from users who understand.
Explore advanced tooling: bisect, worktree, submodules, hooks, and a faster client like lazygit.