← All roadmapsView interactive roadmap on roadmap.sh
Learn Git and GitHub
Step by step guide to learn Git and GitHub in @currentYear@
0%
0 done0 learning0 target
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