What is GitHub?

What is GitHub?
GitHub is a web platform for hosting, sharing and managing software projects that use Git, the most widely used version control system in the world. Put simply: Git is the tool that records every change you make to your code, and GitHub is the site where you keep a copy of that project in the cloud so you can work on it from anywhere and collaborate with other people.
The platform was launched in 2008 and acquired by Microsoft in 2018, but its purpose has not changed: to be the meeting point for everyone who writes software. GitHub passed one hundred million registered developers in 2023 and today hosts hundreds of millions of repositories, from small personal scripts to open source projects used by millions of people, such as React, Vue.js or Kubernetes.
If you have heard that Git and GitHub are the same thing, you are not alone: it is one of the most common mix-ups in software development. They are two different things that work together, and in this article we tell them apart clearly and show what each one is for.
The difference between Git and GitHub
Git is a distributed version control system created in 2005 by Linus Torvalds, the same engineer who built the Linux kernel. Its job is to keep a complete record of a project's history: every change, who made it, when and why, with the ability to go back to any earlier version. Git runs on your own machine and needs neither an internet connection nor any external service.
GitHub is a cloud service built around Git. It takes that local tool and adds a remote repository (a central copy of the project stored on GitHub's servers), a web interface to explore it, and a set of collaboration features: per-user permissions, code review, issue tracking and automation. If Git is the notebook where you write down every version of your work, GitHub is the shared table where you leave that notebook so your teammates can read it, comment on it and add notes of their own.
One key idea: Git does not need GitHub. You can version projects with Git entirely offline or use other servers and platforms. GitHub, on the other hand, cannot work without Git, because its whole reason for existing is to host and extend that system. The table below summarizes the main differences.
| Aspect | Git | GitHub |
|---|---|---|
| What it is | Version control system: records the change history of a project's files | Web platform and cloud service for hosting Git repositories and collaborating as a team |
| Where it runs | On your own machine, with no internet connection | On GitHub's servers, accessible from a browser |
| Who created it | Linus Torvalds, in 2005 | Launched in 2008; owned by Microsoft since 2018 |
| Main purpose | Store versions, branches and merged changes (commit, branch, merge) | Host the remote repository and add review, permissions, issues and automation |
| Can it work on its own? | Yes, it is completely local | No: it needs Git underneath |
What can you do on GitHub?
Once you create an account and upload your first project, GitHub gives you tools designed so the code can live and grow as a team effort. The most important ones are:
- Upload and version code. A repository (or repo) is your project folder with its entire history. When you save your changes with the push command, they are backed up in the cloud, and you can recover any previous version in seconds.
- Collaborate with pull requests. Each person works on their own branch of changes and, when finished, opens a pull request: a proposal that the rest of the team can review, comment on line by line and approve before it is merged into the main project. No change reaches the codebase without review.
- Report and organize work with issues. Issues work like a tracking board: team members report bugs, suggest improvements and assign responsibilities, with labels and conversations stored alongside the code.
- Document the project. Every repository can include a README file explaining what the project does and how to use it, plus wikis and GitHub Pages, a service for publishing websites directly from the repository.
- Automate tasks. With GitHub Actions you can set up every change to run automated tests, check code quality or deploy it to a server, a process known as continuous integration and delivery.
Public and private repositories
GitHub offers two kinds of repositories. Public ones are visible to anyone: people can view the code, copy it and even propose changes. They are the foundation of open source software and a valuable business card for showing your work.
Private repositories, by contrast, are visible only to you and the people you invite, with permissions you can tune (read-only or read and write). Since 2019 GitHub has offered unlimited private repositories even on its free plan, which turned it into a common choice for personal projects and for companies that do not want to expose their code.
How teams and companies use GitHub
Although it was born from the open source culture, GitHub is now a central tool in companies of all kinds: startups, software firms, IT departments and even data or documentation teams. In a team, the repository becomes the single source of truth for the project: the code is backed up, every change is recorded with its author and its reason, and nobody can break what works without someone else reviewing it.
For medium and large organizations there are GitHub organizations, which group repositories with per-team permissions, branch protection (it prevents changes from being published straight to production without review), dependency security scanning and, in the enterprise edition, deployment inside the company's own infrastructure, with support and central administration.
Alternatives to GitHub
Git does not force you to use GitHub, and many organizations pick other platforms. The best-known alternatives are:
- GitLab. A complete platform that includes repositories, code review and continuous integration in a single product, with a free edition you can install on your own servers. It is the preferred choice when the code must not leave the company.
- Bitbucket, from Atlassian. It offers free private Git repositories for small teams and integrates natively with Jira, the project management tool from the same company. It is common in companies that already use that ecosystem.
- Other options. There are lightweight open source alternatives for self-hosting, such as Gitea or Forgejo, as well as community platforms like Codeberg, and you can even run your own Git server with no platform at all.
The choice depends on your priorities: total control, price, ease of use or community. GitHub remains the platform with the largest ecosystem and community, which makes it easier to find projects, contributors and answers.
Is GitHub only for programmers?
No, even though that is its best-known image. GitHub works for any project made up of files that change over time and that several people need to share. Many teams use it for technical documentation, manuals, internal policies, notes, style guides, server configurations and even full books written in Markdown, the lightweight text format the platform displays and edits very well.
The truth is that its interface is designed for code and it shows its full power when there is a technical team behind it. But if your work involves documents that keep evolving and you want a reliable history of every version, a platform like this can serve you just as well as it serves a development team.
Git and GitHub solve two needs that complement each other: Git gives you fine-grained control over the history of your files, and GitHub puts that control at the service of a team, with review, tracking and automation. Getting started is easy: create an account, upload a repository and make your first commit. And although it sometimes looks like a world reserved for programmers, most of the web applications businesses use every day — from an inventory system like Kardex Tauro to an online store — are built and improved with this kind of tool, where every change is reviewed before it reaches the users.