GitHub can’t run without Git. Git has no such need for GitHub, and works with no account and no network connection at all.
Put plainly, Git is a version control tool that runs on your own machine, and GitHub is a hosting service that stores Git repositories online and adds pull requests, issues and code review.
A solo developer needs only Git. Once a team starts sharing code, a host such as GitHub gets added.
On the platform side, developers seem to have made up their minds. Stack Overflow’s 2025 Developer Survey, with over 49,000 responses, named GitHub the most desired collaboration tool, ahead of Jira.
What Are Git and GitHub?
Tracking file changes on your own machine is the whole job of Git, a distributed version control system. GitHub is a web-based hosting service. It stores Git repositories online and adds collaboration tools around them.
The names sound like one product, which is half the confusion. GitHub’s documentation hands all local work on your computer to Git.
Git was created in 2005 (Pro Git, Chacon and Straub), and Git predates GitHub by three years (TechTarget). Microsoft now owns GitHub, after an all-stock deal of $7.5 billion announced on June 4, 2018 (Microsoft). The platform counts over 180 million developers and 630 million projects (GitHub Octoverse, 2025). On the Git side, the current release is 2.56.0, released September 28, 2026 (git-scm.com, as of October 2026).
Git: the version control system

Linus Torvalds wrote Git to handle contributions from many developers to the Linux kernel. It is free and open source, and the distributed part is by design.
Every clone holds the full project history, so version control keeps working with no network connection. Commits, branches, diffs and merges all run locally.
Several explainers say the Linux Foundation maintains Git. Git’s own project leadership says otherwise.
A status report on the Git mailing list describes Git as a Software Freedom Conservancy member project since 2010. GitHub’s 2020 interview with Junio Hamano presents him as the maintainer.
GitHub: the hosting service

GitHub keeps Git repositories on remote servers. Developers use GitHub as a platform to store code, review changes and run automation.
The extras are what people really mean when they say “GitHub”: pull requests, issues, code review, GitHub Actions and GitHub Pages.
Microsoft said at the time of the purchase that GitHub would keep operating independently (Microsoft announcement, 2018).
How Do Git and GitHub Differ Side by Side?

Git is software you install, whereas GitHub is a service, so there’s an account to sign in to. The table below has the short version.
| Attribute | Git | GitHub |
|---|---|---|
| Type | Version control software | Hosting service built on Git |
| Runs on | Your local machine, offline | GitHub’s servers, online |
| Core job | Commits, branches, merges, history | Pull requests, issues, review, automation |
| Maintained by | Open source project, maintainer Junio Hamano | Microsoft |
| Interface | Command line, plus GUIs | Web interface, client apps |
Where each one runs
Git runs entirely locally. The everyday Git commands (add, commit, branch, merge, log) need no account and no connection.
GitHub lives on remote servers, so you need a connection and an account to use it.
What each one does

Git covers the local side, meaning commits, branches, merges, diffs and history. GitHub does hosting, and pull requests, issues, code review and automation come with it.
Automation comes through GitHub Actions, which runs build and test workflows inside a repository. GitHub Pages turns a repository into a live website, per GitHub Docs.
One popular shortcut says Git is the command line and GitHub is the interface. Only half of that holds.
Git ships GUIs such as git-gui (Pro Git lists gitk and git-gui), and GitHub offers client apps next to its website (GitHub Docs).
How Do Git and GitHub Work Together?

Git records the work locally and GitHub holds the shared copy. A change travels from a local commit, to a push into the remote repository, to a pull request that a reviewer merges.
Pro Git says that collaborating on a Git project means managing remote repositories, versions of your project hosted on a network. GitHub is the largest host for those, according to the same book.
- Clone the repository from GitHub to your machine with git clone.
- Create a branch for the change with git switch -c.
- Edit files, stage them with git add, then save a commit with git commit.
- Push the branch to GitHub with git push.
- Open a pull request so teammates can review the diff.
- Answer review comments by pushing more commits to the same branch.
- Merge the pull request on GitHub, then run git pull to update your local main branch.
GitHub Docs defines pull requests as the way to propose, review and merge code changes. Opening a pull request on GitHub also shows the diff against the base branch.
GitHub merged an average of 43.2 million pull requests per month in 2025, up 23% year over year (GitHub Octoverse, 2025).
GitHub Docs names two collaboration models. In the shared repository model, everyone with write access pushes branches to one repository. With fork and pull, contributors work in their own fork (a copy that shares code with the upstream repository) and then propose changes back.
Pushes get rejected when the remote holds commits you do not have, and the fix is to pull first. Merge conflicts show up when two branches edit the same lines, and someone has to resolve them in an editor or on GitHub.
Can You Use Git Without GitHub, or GitHub Without Git?

Git works fine without GitHub. The reverse isn’t true, since every GitHub repository is a Git repository, and GitHub’s own documentation calls Git the core of the service.
Without GitHub you can keep history on one machine with no account, push to another host such as GitLab or Bitbucket, or run your own remote on a server you control.
Treat Git as a standalone tool and it covers solo work completely, history, branches and rollbacks included. A bare repository on a server you control acts as a remote with no web interface, a setup Pro Git covers in its Git on the Server chapter.
The Git project itself publishes a read-only source mirror on GitHub, yet patches and design discussion run through the project mailing list at git@vger.kernel.org. Pull requests sent to that mirror can be turned into mailing-list patches through GitGitGadget.
The catch is backup. With no remote, a failed disk takes the full history with it.
Going the other way, the web interface covers many tasks without typing a single Git command, but the repository underneath stays a Git repository.
GitHub Importer accepts only Git repositories, and GitHub Docs lists Mercurial, Subversion and TFVC as unsupported sources. Those repositories need converting first.
My rule is simple. Stay with Git alone while one person works on one machine, and add a host the moment a second person or a second computer joins.
What Do Git and GitHub Cost, and How Do You Get Access?
Git costs nothing. GitHub is free to join and sells paid plans to teams that need more review and identity controls.
Git’s own site describes the tool as free and open source (git-scm.com).
As of October 2026, going by the GitHub plans page, Git costs $0 and so does GitHub Free. GitHub Team runs $4 per user per month, and GitHub Enterprise starts from $21 per user per month.
The plans page labels the Team and Enterprise rates as the price for the first 12 months, so confirm the renewal quote before budgeting beyond year one.
Team adds multiple reviewers on a pull request. Enterprise adds Enterprise Managed Users and SCIM provisioning, according to the same page.
Start with Git. GitHub’s documentation home page lists “Set up Git” first under Getting started, ahead of SSH and repository setup.
Download it from git-scm.com, or follow a guide to installing Git on Windows, macOS or Linux. Windows users can also run winget install –id Git.Git -e –source winget from a terminal.
Access to GitHub is where most beginners stall. Authenticating over SSH means a key pair, with the public half stored on your GitHub account. The other route is a personal access token, a generated string you paste where a password used to go. OAuth and GitHub App tokens exist too, but those are meant for integrations and apps.
GitHub stopped accepting account passwords for Git operations on August 13, 2021, and moved to token-based authentication (GitHub changelog). That cutoff is why an old password in the terminal now ends in an authentication error.
The quickest fix for a laptop you use daily is adding an SSH key to your GitHub account. Use a token when a firewall forces HTTPS.
Which Alternatives Exist for Git and GitHub?

Hosts such as GitLab and Bitbucket keep Git underneath, while Subversion and Mercurial replace Git itself.
For most teams the real decision is the host. Keep Git, then pick the host that matches your workflow.
| Option | Kind | Fits best |
|---|---|---|
| GitLab | Git host, hosted or self-managed | Hosting and CI in one platform |
| Bitbucket | Git host from Atlassian | Teams already on Jira |
| Subversion | Centralized version control | Central admin, directory permissions |
| Mercurial | Distributed version control | Existing Mercurial projects |
Moving between hosts carries the Git history but not the surrounding data. GitHub’s importer skips issues and pull requests, per GitHub Docs.
GitLab
Each project in a free GitLab.com namespace gets 10 GiB of storage for its Git repository and LFS, according to GitLab’s pricing page.
The free tier has no time limit, and you can self-manage the whole thing on your own servers. Pipelines are built in, with compute minutes tiered by plan. Against that, free-tier storage is capped per project, and self-managed means your team handles upkeep.
The built-in continuous integration pipelines make GitLab the one-platform pick.
Bitbucket
Atlassian runs Bitbucket, which launched in 2008 as a Mercurial-only host and now serves Git alone.
| Pros | Cons |
|---|---|
| Jira integration built in | Free plan covers up to 5 users per workspace (Atlassian) |
| Bitbucket Pipelines included for CI/CD | Value drops outside the Atlassian toolset |
Subversion
Subversion keeps history on one central server, and every commit goes there.
Commits are atomic, and both the Apache server option and svnserve support path-based authorization, so permissions can follow directories (Apache Subversion documentation). The downside is that the system was designed as client and server from the start, so history lives on the server instead of in each clone.
It remains a workable source control management tool where central administration matters more than offline work.
Mercurial
Mercurial has a distributed design comparable to Git’s, and it is cross-platform, written mainly in Python. Its recent history is rough, though.
Bitbucket Cloud removed Mercurial support on June 1, 2020 and told teams to migrate to Git (Atlassian announcement, 2019). OpenJDK’s JEP 357 moved the project from Mercurial to Git, citing smaller metadata, more Git-aware tools and more hosting options (as reported by The Register, 2019).
New projects have little reason to pick it. Existing ones tend to migrate.
When Is GitHub Not the Right Place for a Git Repository?

GitHub fits poorly for repositories full of large binary files, and for code that has to stay on your own infrastructure. It’s also an awkward fit when the team’s workflow already lives somewhere else. Git itself is rarely the problem. The host is.
Regular repositories block files above 100 MiB (GitHub Docs), so past that limit Git LFS is required. Free accounts include 10 GiB of LFS storage and 10 GiB of monthly bandwidth, while Team and Enterprise Cloud include 250 GiB of each (GitHub Docs).
Overruns behave differently depending on billing setup. With no payment method on file, exceeding the bandwidth quota disables LFS until the next month, and exceeding the storage quota stops you from pushing new LFS files. An account with a payment method is billed for the extra use unless a budget set to $0 blocks LFS instead.
Keep generated output such as a build artifact out of the repository and attach it to a GitHub release. Releases have no total size limit, though each file must stay under the LFS maximum for your plan.
Code that must stay in-house is a different problem. GitHub Enterprise Server is the self-hosted edition, and its site administrators can change the 100 MiB default. Teams under strict software compliance rules should weigh that before putting source on shared cloud servers.
Hosting dependency is the quiet one. Every clone holds the full history, so local commits continue through a GitHub outage. Pull requests, reviews and Actions runs wait until the service returns.
A team that plans in Jira or runs pipelines in GitLab pays a switching cost to host code on GitHub. Bitbucket and GitLab fit those setups better.
My rule of thumb is to stay on GitHub for source and documents, send large binaries to LFS or releases, and move the whole repository only when compliance or workflow forces it.
Git and GitHub FAQ
Is Git a programming language?

No. Git is a version control system, a tool that records changes to files. It is written mainly in C, but you never write Git code to use it.
Is GitHub open source?
No. GitHub’s platform is proprietary and owned by Microsoft, while Git is the open source part.
GitHub does host open source projects, including a mirror of Git’s own source repository.
What is GitHub Desktop, and do you need it?
GitHub Desktop is a graphical client for working with GitHub repositories. It covers everyday steps such as cloning, committing and pushing without typed commands.
You do not need it. The command line or an editor with Git support does the same job.
Can GitHub store files that are not code?
Yes. Git tracks changes in any set of files, so documents, LaTeX sources and notes work as well as code.
Text files show readable diffs. Images and other binary files are stored whole, which is why large ones need Git LFS.
Learn Git First, Then Add GitHub
Beginners should learn Git before GitHub, because GitHub only hosts what Git has already recorded. A first working session needs a terminal, not an account.
Install Git and make some local commits first. Then create a GitHub account and authenticate with an SSH key, and after that push a branch and open a pull request.
That order costs $0 at every step, and the free setup holds until a single file passes 100 MiB. What you give up is an authentication step before the first push.
The sequence was verified in October 2026. A change to GitHub’s plan limits or sign-in rules, such as the 2021 password cutoff, would alter it.
For the commands behind step one, see a walkthrough of how to use Git.
- Notepad++ Android Options: Apps That Come Close - October 21, 2026
- MongoDB Cheat Sheet - October 20, 2026
- Adding AI Video Generation to a Software Product: Architecture, Cost Guardrails and QA - October 20, 2026




