Quick Answer
GitHub is a website where developers store their Git repositories online, collaborate with others, track bugs and feature requests, and manage the full lifecycle of a software project. It is where virtually all open-source software in the world is published, and where your project should live if you are building anything serious.
Dark industrial gears and mechanical components illuminated by deep red light: interlocking systems working in coordinated sequence.
GitHub is the mechanism that makes team software development work. Every contributor, branch, pull request, and review is a gear in the same machine.

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:

  1. Create a repository, public for open source, private for proprietary work
  2. Add a .gitignore, use the template for your language
  3. Create Issues for every feature, bug, or idea you want to build
  4. Create a Project board and link those issues
  5. Work on branches named for the issue (feature/issue-12-user-login)
  6. Open PRs when done, even solo, the PR view is useful for reviewing your own changes
  7. 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

What’s next

Next: What is Open Source? , what it means when software’s code is public, and why it matters.