Git vs GitHub: what is the difference?
Git and GitHub are often confused. One is a tool installed on your machine, the other is an online service. Here is how to clearly distinguish them.
The comparison at a glance
- +Software installed on your machine
- +Works offline
- +Manages your code history (versioning)
- +Created by Linus Torvalds in 2005
- +Open source and free
- +Commands:
init, add, commit, branch, merge
- +Online service (website)
- +Requires an internet connection
- +Hosts your Git repositories online (sharing)
- +Created in 2008, acquired by Microsoft in 2018
- +Free (with paid options)
- +Features: pull requests, issues, CI/CD, pages
In practice: Git then GitHub
Git (local)
You work on your machine: you create a repository, make commits, manage your branches. All without internet.
GitHub (online)
When you want to share your code or collaborate, you push your repository to GitHub. Your colleagues can then pull it and contribute.
The simple analogy
To understand the difference, think of this analogy:
Git = Word
It's the software on your machine. You create, edit and save your work locally.
GitHub = Google Drive
It's the online service. You upload your file to share it with others and collaborate.
Both together
You work locally with Git, and sync with GitHub to share and collaborate.
What about alternatives to GitHub?
GitHub
100M+ users. The reference for open source. Profiles visible to recruiters. Owned by Microsoft.
GitLab
CI/CD built in natively. Popular in enterprises. Can be self-hosted. Generous free tier.
Bitbucket
Integrated with Jira and Confluence. Popular with teams using the Atlassian ecosystem. Free for small teams.
Good news: Git commands are the same regardless of the platform. Learn Git once, use it everywhere.
GitQuest is created by Anaïs (nouvelle fenêtre), web developer and head of education, specializing in tech training and digital accessibility.
Questions about Git and GitHub
Master Git, the foundation of everything
GitHub, GitLab, Bitbucket: it all starts with Git. Learn the fundamentals by playing with GitQuest.
Get started with Git