What is GitHub?
GitHub is where the world's code lives. It hosts Git repositories, enables collaboration, and is where you manage your project's issues, roadmap, and releases.

Git vs GitHub, the difference
This confuses almost everyone at first.
Git is a tool that runs on your computer. It tracks changes locally, creates commits, manages branches. You can use Git with no internet connection and no account anywhere.
GitHub (owned by Microsoft since 2018) is a website that hosts Git repositories online and layers collaboration tools on top. It is where you push your code to share it and where teams coordinate their work.
Git is the engine. GitHub is the service built around it.
Alternatives to GitHub: GitLab (excellent for self-hosting and built-in CI/CD), Bitbucket (common in Atlassian-heavy enterprises). GitHub dominates for open source; all three work for private teams.
What GitHub gives you
Hosted remote repository
Your repository lives on GitHub’s servers. Push once and your code is accessible from any machine, safely backed up, and shareable with a link. If your laptop breaks, nothing is lost.
Pull Requests, the centre of collaborative development
A pull request (PR) is a proposal to merge changes from one branch into another. When you open a PR, GitHub shows:
- Every file changed
- Every line added (green) and removed (red)
- A comment thread for discussion
Your teammates review the changes, leave inline comments, request improvements, and when satisfied, approve. Only then does the code merge. This code review step catches bugs, shares knowledge, and maintains quality. More: About pull requests, GitHub Docs
Issues, the bug and feature tracker
Issues are GitHub’s built-in task system. Anyone can open an issue to report a bug, propose a feature, or ask a question. You can:
- Assign issues to people
- Add labels (bug, enhancement, help wanted, good first issue)
- Link issues to pull requests (closing an issue when its PR merges)
- Organise issues into milestones (version 1.0, Q3 sprint)
For open source projects, issues are the primary way users communicate with maintainers.
GitHub Projects, roadmap and kanban
GitHub Projects is a project management tool built directly into repositories. Create boards with columns (“To Do”, “In Progress”, “In Review”, “Done”) and link them to Issues and PRs. This gives you a real-time view of your project’s state, tightly integrated with the code itself.
No need for a separate Trello or Jira for small-to-medium teams, Projects handles it.
GitHub Actions, automation
GitHub Actions lets you run code automatically in response to events. The most common uses:
- Run tests on every push or pull request
- Deploy to production when code merges to main
- Check formatting and block PRs with linting errors
- Build and publish a package when you create a release
Actions are defined in .github/workflows/ YAML files in your repository. More: GitHub Actions, GitHub Docs
This is CI/CD (Continuous Integration / Continuous Deployment), the practice of automatically testing and deploying code every time it changes.
GitHub Pages, free hosting
Every repository can publish a website at username.github.io/repo-name for free. Static files (HTML, CSS, JS) pushed to the right branch are served automatically. This wiki uses GitHub Pages. More: GitHub Pages, GitHub Docs
GitHub Codespaces, dev environment in a browser
Codespaces gives you a complete VS Code development environment running in the cloud, accessible in your browser. No local setup required. More: GitHub Codespaces
GitHub Copilot, AI pair programmer
GitHub Copilot is an AI coding assistant built into VS Code, JetBrains, and other editors. It suggests code completions, generates functions from comments, and helps write tests. It is built on OpenAI’s models. More: GitHub Copilot
Managing a solo project on GitHub
A practical setup that scales:
- Create a repository, public for open source, private for proprietary work
- Add a .gitignore, use the template for your language
- Create Issues for every feature, bug, or idea you want to build
- Create a Project board and link those issues
- Work on branches named for the issue (
feature/issue-12-user-login) - Open PRs when done, even solo, the PR view is useful for reviewing your own changes
- Create Releases when you hit a working milestone
This gives you a complete, linked record of decisions, progress, and history, all connected to the code.
GitHub for non-developers
You do not need to write code to benefit from GitHub:
- Product managers use Issues and Projects to manage feature work alongside developers
- Technical writers write and review documentation
- Designers store design system assets and changelogs
- Data analysts share notebooks and datasets with version history
If you are building with AI tools, GitHub is where your project lives, and where you point developers, collaborators, or potential users.
Further reading
- GitHub Docs, Get Started , official documentation, comprehensive
- GitHub Skills , interactive courses for learning GitHub with real repositories
- GitHub Actions documentation , everything about automation
- First Contributions , guided walkthrough of your first open source pull request
- GitHub Pages documentation
What’s next
Next: What is Open Source? , what it means when software’s code is public, and why it matters.
Frequently asked questions
Is GitHub free?
What is the difference between forking and cloning?
What is GitHub Pages?
gh-pages or the docs/ folder on main), and GitHub automatically publishes them at username.github.io/repo-name. This wiki and many open source project documentation sites are hosted on GitHub Pages. Hugo, Jekyll, and other static site generators work natively with it.