← All roadmaps

Learn Git and GitHub

Step by step guide to learn Git and GitHub in @currentYear@

0%
0 done0 learning0 target
View interactive roadmap on roadmap.sh

Your learning path

Learn the Basics

Learn the Basics

What is Version Control?
Why use Version Control?
Git vs Other VCS
Installing Git Locally
What is a Repository

What is a Repository

git init

git init

git config

git config

Local vs Global Config

Local vs Global Config

Working Directory

Working Directory

Staging Area

Staging Area

Committing Changes

Committing Changes

.gitignore

.gitignore

Viewing Commit History

Viewing Commit History

Branching Basics

Branching Basics

Creating Branch
Renaming Branch

Renaming Branch

Deleting Branch

Deleting Branch

Checkout Branch

Checkout Branch

Merging Basics

Merging Basics

GitHub Essentials

GitHub Essentials

Creating Account
GitHub Interface

GitHub Interface

Setting up Profile

Setting up Profile

Creating Repositories

Creating Repositories

Profile Readme

Profile Readme

Private vs Public

Private vs Public

Git Remotes

Git Remotes

Managing Remotes

Managing Remotes

Pushing / Pulling Changes

Pushing / Pulling Changes

Fetch without Merge

Fetch without Merge

Collaboration on GitHub

Collaboration on GitHub

Forking vs Cloning

Forking vs Cloning

Issues

Issues

Cloning Repositories

Cloning Repositories

Pull Requests

Pull Requests

PR from a Fork

PR from a Fork

Collaborators

Collaborators

Labelling Issues / PRs

Labelling Issues / PRs

Saved Replies

Saved Replies

Mentions

Mentions

Reactions

Reactions

Merge Strategies

Merge Strategies

Fast-Forward vs Non-FF
Squash
Handling Conflicts
Cherry Picking Commits
Rebase

Rebase

Commit Messages

Commit Messages

Branch Naming

Branch Naming

PR Guidelines

PR Guidelines

Code Reviews

Code Reviews

Contribution Guidelines

Contribution Guidelines

Documentation

Documentation

CITATION files
Markdown

Markdown

Project Readme

Project Readme

GitHub Wikis

GitHub Wikis

Clean Git History

Clean Git History

Working in a Team

Working in a Team

GitHub Organizations

GitHub Organizations

Collaborators / Members

Collaborators / Members

Teams within Organization

Teams within Organization

GitHub Projects

GitHub Projects

Project Planning
Kanban Boards

Kanban Boards

Roadmaps

Roadmaps

Automations

Automations

GitHub Discussions

GitHub Discussions

Git Stash Basics

Git Stash Basics

History

History

Linear vs Non-Linear
HEAD
Detached HEAD
git log options
Undoing Changes

Undoing Changes

git reset
git revert

git revert

--soft

--soft

--hard

--hard

--mixed

--mixed

Viewing Diffs

Viewing Diffs

Between Commits
Between Branches
Staged Changes
Unstaged Changes
Rewriting History

Rewriting History

git commit --amend
git rebase
git filter-branch
git push --force
Tagging

Tagging

Managing Tags
Pushing Tags
Checkout Tags
GitHub Releases
Git hooks

Git hooks

What and Why?
Client vs Server Hooks

Client vs Server Hooks

commit-msg

commit-msg

post-checkout

post-checkout

post-update

post-update

pre-commit

pre-commit

pre-push

pre-push

Submodules

Submodules

Adding / Updating
What and Why use?

What and Why use?

GitHub CLI

GitHub CLI

Installation and Setup

Installation and Setup

Repository management

Repository management

Issue Management

Issue Management

Pull Requests

Pull Requests

GitHub Actions

GitHub Actions

Usecases
YAML Syntax

YAML Syntax

Workflow Triggers

Workflow Triggers

Scheduled Worfklows

Scheduled Worfklows

Workflow Runners

Workflow Runners

Workflow Context

Workflow Context

Secrets and Env Vars

Secrets and Env Vars

Caching Dependencies

Caching Dependencies

Storing Artifacts

Storing Artifacts

Workflow Status

Workflow Status

Marketplace Actions

Marketplace Actions

What are these?

What are these?

Use in Automation

Use in Automation

Git Patch

Git Patch

Git Reflog

Git Reflog

Git Bisect

Git Bisect

Git Worktree

Git Worktree

Git Attributes

Git Attributes

Git LFS

Git LFS

GitHub API

GitHub API

GraphQL API
REST API

REST API

Creating Apps

Creating Apps

OAuth Apps
GitHub Apps

GitHub Apps

Webhooks

Webhooks

GitHub Sponsors

GitHub Sponsors

GitHub Pages

GitHub Pages

GitHub Gists

GitHub Gists

GitHub Packages

GitHub Packages

Deploying Static Websites

Deploying Static Websites

Custom Domains

Custom Domains

Static Site Generators

Static Site Generators

GitHub Codespaces

GitHub Codespaces

GitHub Education

GitHub Education

Student Developer Pack
GitHub Classroom

GitHub Classroom

Campus Program

Campus Program

GitHub Marketplace

GitHub Marketplace

GitHub Security

GitHub Security

GitHub Models

GitHub Models

GitHub Copilot

GitHub Copilot