SlaveCode
.
Academy
DSA
Resources
System Design
More
Toggle theme (Current: Custom)
Learn Git and GitHub Roadmap | SlaveCode
Learn Git and GitHub
Step by step guide to learn Git and GitHub in 2026
Back
Roadmap
Vedios and Other Resources
Projects
AI Tutor
Git and GitHub
Repository Initialization
Intro and Git Commands
Creating PR
Commenting
Common Hooks
Basic Collaboration
Best Practices
Intermediate Git Topics
GitHub Workflow
Advanced Git Topics
GitHub Developer Tools
More GitHub Features
Continue learning with following roadmaps
If you are a beginner, we'd recommend you
to visit the beginner friendly version.
Frontend
Backend
DevOps
Full-stack
Visit the Beginner Version
Learn the Basics
What is Version Control?
Why use Version Control?
Git vs Other VCS
Installing Git Locally
What is a Repository
git init
git config
Local vs Global Config
Working Directory
Staging Area
Committing Changes
.gitignore
Viewing Commit History
Branching Basics
Creating Branch
Renaming Branch
Deleting Branch
Checkout Branch
Merging Basics
GitHub Essentials
Creating Account
GitHub Interface
Setting up Profile
Creating Repositories
Profile Readme
Private vs Public
Git Remotes
Managing Remotes
Pushing / Pulling Changes
Fetch without Merge
Collaboration on GitHub
Forking vs Cloning
Issues
Cloning Repositories
Pull Requests
PR from a Fork
Collaborators
Labelling Issues / PRs
Saved Replies
Mentions
Reactions
Merge Strategies
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
Working in a Team
GitHub Organizations
Collaborators / Members
Teams within Organization
GitHub Projects
Project Planning
Kanban Boards
Roadmaps
Automations
GitHub Discussions
Git Stash Basics
History
Linear vs Non-Linear
HEAD
Detached HEAD
git log options
Undoing Changes
git revert
git reset
--soft
--hard
--mixed
Viewing Diffs
Between Commits
Between Branches
Staged Changes
Unstaged Changes
Rewriting History
git commit --amend
git rebase
git filter-branch
git push --force
Tagging
Managing Tags
Pushing Tags
Checkout Tags
GitHub Releases
Git hooks
What and Why?
Client vs Server Hooks
commit-msg
post-checkout
post-update
pre-commit
pre-push
Submodules
Adding / Updating
What and Why use?
GitHub CLI
Installation and Setup
Repository management
Issue Management
Pull Requests
GitHub Actions
YAML Syntax
Workflow Triggers
Scheduled Worfklows
Workflow Runners
Workflow Context
Secrets and Env Vars
Caching Dependencies
Storing Artifacts
Workflow Status
Marketplace Actions
Usecases
What are these?
Use in Automation
Git Patch
Git Reflog
Git Bisect
Git Worktree
Git Attributes
Git LFS
GitHub API
REST API
GraphQL API
Creating Apps
GitHub Apps
OAuth Apps
Webhooks
GitHub Sponsors
GitHub Pages
GitHub Gists
GitHub Packages
Deploying Static Websites
Custom Domains
Static Site Generators
GitHub Codespaces
GitHub Education
Student Developer Pack
GitHub Classroom
Campus Program
GitHub Marketplace
GitHub Security
GitHub Models
GitHub Copilot
CITATION files
Workflow Expressions