GitHub is where software gets stored, versioned and worked on collaboratively. It hosts code using Git, tracks every change, lets teams review each other’s work before it ships, and has become the default home of open-source software.
What is Github?
GitHub is a web platform built around Git, and the distinction between the two matters:
Git is version control software, created by Linus Torvalds in 2005. It runs on your own machine and records every change to a set of files, letting you see the full history, go back to any point, and work on separate lines of development at once.
GitHub is a hosting service built on top of Git. It puts your Git repositories online, and adds the collaboration layer — pull requests, issues, code review, permissions, automation and discussion.
You can use Git without GitHub. GitHub is far less useful without Git.
Launched in 2008 and owned by Microsoft since 2018, GitHub hosts over 100 million repositories and is where the overwhelming majority of open-source software now lives — Linux, Python, React, TensorFlow and most of what modern software is built from.
The core concepts, briefly:
- Repository (repo) — a project and its complete history.
- Commit — a saved change, with a message explaining it.
- Branch — a separate line of work, so you can build something without disturbing the main version.
- Pull request — a proposal to merge a branch, opened for review and discussion before it is accepted.
- Issue — a bug report, task or feature request.
- Fork — your own copy of someone else’s project.
The pull request is the piece that changed how software is built. It made code review a normal, expected step rather than an occasional formality, and it is what lets thousands of strangers contribute to the same project without chaos.
What is Github used for?
- Storing and versioning code, with a complete history of who changed what and why.
- Collaborating on software, with review before changes are merged.
- Open-source projects — publishing, contributing to and forking them.
- Tracking bugs and tasks, through issues and project boards.
- Automating builds, tests and deployment, using GitHub Actions.
- Hosting websites, free, through GitHub Pages.
- Code review, line by line with comments.
- Documentation, in READMEs and wikis.
- Portfolios. For developers, a GitHub profile is often read more carefully than a CV.
- Non-code version control — documentation, configuration, legal texts, datasets and academic writing.
- Package distribution, through registries.
Beyond software: researchers publish analysis code alongside papers, governments publish legislation and open data, and technical writers version documentation the same way developers version code.
Common tasks you can do with Github
- Clone a repository to work on it locally.
- Create a branch, make changes, and open a pull request.
- Review someone’s code and leave line-by-line comments.
- Fork a project, change it, and propose your changes back.
- Report a bug or request a feature through an issue.
- Run tests automatically on every push, with Actions.
- Roll back to any earlier state.
- See exactly who changed a line and why, with blame and history.
- Publish a static website from a repository.
- Search across millions of public repositories for how others solved a problem.
Who Github is useful for
- Software developers, for whom it is close to unavoidable.
- Development teams, for review, permissions and coordination.
- Open-source maintainers and contributors.
- Students learning to code, and anyone building a portfolio.
- Researchers and data scientists, for reproducible analysis.
- Technical writers, versioning documentation.
- DevOps and infrastructure engineers, managing configuration as code.
- Job seekers in technology, where a public profile is genuinely read.
- Anyone collaborating on text files where history and review matter.
Who finds it hard: beginners, honestly. Git’s concepts are genuinely difficult at first, and the command line adds to that. The desktop app and the web interface cover a lot without the terminal, and it is worth persevering — the model makes sense once it clicks, and it is a foundational skill.
When to choose Github instead of a related tool
| Tool | Best for |
|---|---|
| GitHub | Public and open-source projects; largest community; strongest ecosystem |
| GitLab | Built-in CI/CD and self-hosting; popular with organisations wanting their own instance |
| Bitbucket | Teams already using Atlassian tools such as Jira |
| Azure DevOps | Organisations invested in the Microsoft enterprise stack |
| Google Drive / Dropbox | Documents and files — not code, no meaningful version control |
Choose GitHub for open-source work, for visibility, and for the ecosystem — nearly every developer tool integrates with it. Choose an alternative when you need self-hosting, tighter integration with an existing toolchain, or specific compliance arrangements.
A few things worth knowing:
- Public means public. Anyone can read a public repository, and anything committed stays in the history even after you delete it. Committed passwords, API keys and credentials are a leading cause of real security breaches — treat any exposed secret as compromised and rotate it.
- Free tiers are generous, including unlimited private repositories.
- Check the licence before using someone else’s code. No licence means no permission to use it.
- Enable two-factor authentication. GitHub accounts are targets.
- Write meaningful commit messages — your future self and your colleagues rely on them.
See the developer tools hub, and the guides to JavaScript and HTML.
Related software and productivity guides
Frequently asked questions
What is GitHub used for? Storing, versioning and collaborating on code. It hosts Git repositories and adds review, issue tracking, automation and discussion on top.
Is GitHub the same as Git? No. Git is version control software that runs on your machine. GitHub is a hosting service built on Git that adds collaboration features.
Is it free? Yes, with a generous free tier including unlimited private repositories. Paid plans add organisational features.
Do I need to know the command line? It helps, but GitHub Desktop and the web interface cover a great deal without it.
Can I use it for things other than code? Yes — documentation, configuration, datasets, legal texts and academic writing all benefit from version history and review.
Is my code private? Only if the repository is private. Public repositories are readable by anyone, and anything committed remains in the history even after deletion.
What is a pull request? A proposal to merge changes from one branch into another, opened for review and discussion before it is accepted.
Why does my GitHub profile matter for jobs? In technology, a public profile showing real work and how you collaborate is often read more carefully than a CV.