Skill Roadmap

Git and GitHub

Git is the version control system behind nearly every software team, and GitHub is where most of that work is hosted, reviewed, and shipped. This roadmap walks you from your first commit through branching, collaboration, and the automation and API tooling that GitHub builds on top of Git.

Why does every developer need Git and GitHub?

Two different tools that solve two different problems

Git is the version control system itself — it runs locally on your machine and tracks every change to your code, letting you experiment on branches, undo mistakes, and see exactly who changed what and when. It works the same whether you're solo or on a 200-person team.

GitHub is a hosting platform built around Git. It adds a remote home for your repositories plus the collaboration layer teams actually live in day to day: pull requests, code review, issues, project boards, and CI/CD through GitHub Actions.

Nearly every job posting that mentions "collaborative development" or "CI/CD" is really asking for comfort with both — clean local Git habits, and the GitHub workflows that turn individual commits into a reviewed, shipped product.

The Git and GitHub Roadmap

Work through these in order — local Git first, then the GitHub layer on top

STEP 1
Git logo

Learn the Basics

What version control actually solves, and getting Git running on your machine.

What is Version Control? Why use Version Control? Git vs Other VCS Installing Git Locally
STEP 2

What is a Repository

Turning a folder into something Git can actually track.

git init git config Local vs Global Config Repository Initialization
STEP 3

Intro and Git Commands

The daily loop: change files, stage them, and commit a snapshot.

Working Directory Staging Area Committing Changes .gitignore Viewing Commit History
STEP 4

Branching and Merging Basics

Working on features in isolation, then bringing the changes back together.

Creating Branch Renaming Branch Deleting Branch Checkout Branch Merging Basics Basic Collaboration
STEP 5
GitHub logo

GitHub Essentials

Getting a profile and your first repositories set up on GitHub itself.

Creating Account GitHub Interface Setting up Profile Creating Repositories Profile Readme Private vs Public
STEP 6

Remotes and Collaboration on GitHub

Connecting your local repo to GitHub, and working with other people's code.

Managing Remotes Pushing / Pulling Changes Fetch without Merge Forking vs Cloning Cloning Repositories Issues Pull Requests PR from a Fork Creating PR Collaborators Labelling Issues / PRs Saved Replies Mentions Reactions Commenting
STEP 7

Merge Strategies and Best Practices

The habits that keep a shared history readable instead of a tangled mess.

Fast-Forward vs Non-FF Handling Conflicts Rebase Squash Cherry Picking Commits Commit Messages Branch Naming PR Guidelines Code Reviews Contribution Guidelines Documentation / Markdown Project Readme GitHub Wikis Clean Git History
STEP 8

Working in a Team and GitHub Organizations

Scaling past a single repo into shared teams, boards, and planning.

Collaborators / Members GitHub Projects Project Planning GitHub Discussions Teams within Organization Kanban Boards Roadmaps Automations
STEP 9

Intermediate Git Topics

Parking work-in-progress and reading a history that isn't always a straight line.

Git Stash Basics Linear vs Non-Linear History HEAD / Detached HEAD git log options git revert git reset --soft / --mixed / --hard Viewing Diffs
STEP 10

Rewriting History, Tagging and Hooks

Editing commits that already happened, marking releases, and automating checks around them.

git commit --amend git rebase git filter-branch git push --force Managing / Pushing Tags GitHub Releases Client vs Server Hooks pre-commit / pre-push Submodules
STEP 11
GitHub Actions logo

GitHub Workflow Automation

Managing repos from the command line, and running CI/CD on every push.

GitHub CLI Repository / Issue Management YAML Syntax Workflow Triggers Scheduled Workflows Workflow Runners Secrets and Env Vars Caching Dependencies Storing Artifacts Marketplace Actions
STEP 12

Advanced Git and the GitHub Ecosystem

The deep-cut tools and platform features you'll grow into over time.

Advanced Git
Git Reflog Git Bisect Git Worktree Git Attributes Git LFS Git Patch
GitHub Developer Tools
REST API GraphQL API GitHub Apps OAuth Apps Webhooks
More GitHub Features

GitHub Projects

Real repos to practise the exact workflows in this roadmap

Frequently Asked Questions

Common questions from people starting out with Git and GitHub

What's the difference between Git and GitHub?

Git is the version control tool itself — it runs on your computer and tracks changes to your files, with or without the internet. GitHub is a separate, web-based service that hosts Git repositories and adds collaboration features like pull requests, issues, and Actions on top of them. Other companies host Git repositories too, like GitLab and Bitbucket.

Do I need to know Git before learning GitHub?

Yes, at least the basics. GitHub's collaboration features (pull requests, forks, merges) are built directly on Git concepts like commits and branches, so a shaky grasp of local Git tends to make GitHub workflows confusing rather than easier.

Is Git hard to learn?

The everyday commands — status, add, commit, push, pull — are simple and you'll use them constantly within a day or two. What takes longer to feel natural is the mental model underneath: commits, branches, and how history is actually stored, which is why merge conflicts and rebases trip people up early on.

What's the difference between merging and rebasing?

Merging combines two branches by creating a new commit that ties their histories together, preserving exactly what happened and when. Rebasing replays your commits on top of another branch, producing a cleaner, linear history — but it rewrites commit history, so it's best avoided on branches other people are also working on.

How is GitHub different from GitLab or Bitbucket?

All three host Git repositories and offer pull/merge requests, issues, and CI/CD pipelines, so the core workflow transfers between them easily. GitHub has the largest open-source community and Actions ecosystem, GitLab is known for its all-in-one DevOps platform and strong built-in CI/CD, and Bitbucket integrates closely with other Atlassian tools like Jira.

How do I prepare for a Git-related technical interview?

Be able to explain branching and merging in your own words, know when to reach for rebase versus merge, understand what git reset and git revert each actually do to history, and be ready to walk through resolving a merge conflict — most interviewers care more about your mental model than memorised commands.

Track complete

From your first commit to a working CI/CD pipeline — that's the core of what nearly every engineering team expects around Git and GitHub. Keep it habitual: small commits, clear messages, and reviewed pull requests will serve you on every project after this one.

Where next?

Keep exploring by domain or drill into a single skill