← All Courses
Learn Git & Version Control logo

Learn Git & Version Control

Coming Soon

Branch, merge, and collaborate with confidence

Git GitHub Version Control Collaboration CI

Coming Soon

Every developer’s most essential tool. Git tracks changes, enables collaboration, and powers the entire open-source ecosystem. Learn branching strategies, merge conflict resolution, and professional GitHub workflows.

This course covers Git from first commit through advanced rebasing, CI/CD integration, and team collaboration patterns.

Start Here — Learning Roadmap

A suggested path from zero to mastery. Follow these steps in order:

  1. Understand version control concepts — Learn why version control exists, what snapshots and commits are, and how distributed VCS differs from centralized
  2. Set up Git and make first commits — Install Git, configure user/email, initialize a repo, stage files with git add, and commit with meaningful messages
  3. Work with branches — Create, switch, and delete branches to work on features in isolation without breaking the main codebase
  4. Merge and resolve conflicts — Combine branches with merge and rebase, and learn to resolve conflicting changes when they arise
  5. Collaborate on GitHub — Push to remotes, create pull requests, review code, and use Issues to track work
  6. Write effective commit messages — Follow Conventional Commits, write clear descriptions, and structure commit history for readability
  7. Master advanced operations — Use interactive rebase, cherry-pick, stash, bisect, and reflog to handle complex scenarios
  8. Adopt branching strategies — Understand Git Flow, GitHub Flow, trunk-based development, and when to use each model
  9. Automate with CI/CD — Set up GitHub Actions or similar to run tests, linting, and deployments on every push
  10. Understand Git internals — Learn how Git stores objects (blobs, trees, commits), how the DAG works, and how refs point to commits

Official & Core Documentation

  • Pro Git Book — The free, official Git book by Scott Chacon and Ben Straub, comprehensive and well-written (All levels)
  • Git Reference — Complete command reference with examples for every Git command (All levels)
  • GitHub Docs — Pull requests, Actions, collaboration features, and API reference (All levels)
  • GitLab Docs — Alternative platform docs covering Git workflows, CI/CD, and DevOps (Intermediate)
  • Conventional Commits — Commit message standard used across the industry for structured history (Intermediate)
  • Git Cheat Sheet (GitHub) — Quick printable command reference for everyday use (Beginner)
  • Atlassian Git Tutorials — Well-written guides on Git workflows, branching strategies, and advanced topics (All levels)
  • Git Roadmap — Visual step-by-step guide to learning Git and GitHub (Beginner)

GitHub Awesome Lists & Curated Collections

  • awesome-git — Curated list of Git tools, resources, and shiny things for power users
  • awesome-git-hooks — Curated list of useful Git hooks for automation, linting, and workflow enforcement
  • awesome-git-addons — Add-ons that extend and enhance the Git CLI with extra commands
  • awesome-github — Curated list of GitHub tools, browser extensions, and integrations
  • Git Flight Rules — Community-maintained guide for what to do when things go wrong in Git (16k+ stars)

Interactive Courses & Hands-On Platforms

Free Courses

  • Learn Git Branching — Visual, interactive tutorial for branching, merging, rebasing, and cherry-picking (Beginner)
  • GitHub Skills — Official GitHub learning paths with automated feedback inside real repos (Beginner)
  • Oh My Git! — Open-source game that visualizes repository internals in real time (Beginner)
  • Git Exercises — Practice real Git scenarios hands-on with progressive difficulty (Intermediate)
  • W3Schools Git Tutorial — Step-by-step Git tutorial with “Try it Yourself” exercises (Beginner)
  • Git Tower — Learn Git — Free video course with 24 episodes averaging 5 minutes each (Beginner)

University & MOOC Courses

Practice & Challenges

  • Oh Shit, Git!?! — Plain-English solutions for common Git mistakes with copy-paste commands (All levels)
  • Git Kata — Deliberate practice exercises for Git covering dozens of real scenarios (Intermediate)
  • First Contributions — Step-by-step guide to making your first open-source pull request (Beginner)

Video Courses & YouTube Channels

Structured Course Playlists

Individual Creators & Channels

Books & Long-Form Reading

Free Online Books

Essential Paid Books

  • Git for Teams — Collaboration strategies, branching models, and team workflows (Intermediate, Paid)
  • Version Control with Git (3rd Ed.) — O’Reilly guide covering advanced Git operations (Intermediate, Paid)
  • Git Pocket Guide — Concise quick-reference for everyday Git commands (Beginner, Paid)
  • Head First Git — Visual, brain-friendly approach to learning Git concepts (Beginner, Paid)

Community, Practice & News

Forums & Discussion

Newsletters & Blogs

  • GitHub Blog — Official blog covering new features, engineering insights, and open-source stories
  • GitButler Blog — Deep dives into Git internals, workflows, and modern tooling
  • Julia Evans — Git Posts — Clear, illustrated explanations of confusing Git concepts

Ecosystem Resources

Tools & Environments

  • GitHub Desktop — Official GUI for Git and GitHub with visual diff, branch management, and conflict resolution
  • GitKraken — Visual Git client with commit graph, merge conflict editor, and team features (free tier available)
  • Lazygit — Terminal UI for Git with keyboard-driven interface and interactive rebase (open source)
  • Fork — Fast, friendly Git client for Mac and Windows with visual diffs and merge tools
  • diff-so-fancy — Better-looking diffs in the terminal with improved readability
  • git-delta — Syntax-highlighting pager for Git with side-by-side view and line numbers
  • pre-commit — Framework for managing and maintaining Git hooks across a project
  • GitLens (VS Code) — VS Code extension with inline blame, history, and repository visualization
  • tig — Text-mode interface for Git with log, diff, blame, and tree views in the terminal
  • Meld — Visual diff and merge tool for comparing files, directories, and version-controlled projects

Cheat Sheets & Quick References

Branching Strategies & Workflows

  • GitHub Flow — Simple branching model with feature branches and pull requests to main
  • Git Flow (Atlassian) — Structured model with develop, feature, release, and hotfix branches
  • Trunk-Based Development — Ship from main with short-lived branches and feature flags for continuous delivery
  • Ship/Show/Ask — Martin Fowler’s framework for deciding when to merge directly vs request review

Open Source Contribution

  • First Contributions — Step-by-step guide to making your first open-source pull request on GitHub
  • Good First Issues — Aggregator of beginner-friendly issues across popular open-source projects
  • Up For Grabs — Curated list of projects with tasks specifically for new contributors
  • GitHub Open Source Guides — Official guides on starting, contributing to, and maintaining open-source projects