## What is GitHub?
GitHub is a web platform that hosts Git repositories and provides collaboration tools for developers. It is where developers store code, work together, review changes, track issues, and manage projects.
Think of it as Google Drive for code, but with powerful features for software development.
## Why GitHub is Everywhere
**Open Source**: Millions of open source projects are hosted on GitHub. Want to use a library? It is on GitHub. Want to contribute? Fork and submit a pull request.
**Portfolio**: Developers showcase their work on GitHub. Employers look at GitHub profiles to evaluate candidates.
**Collaboration**: Teams coordinate work through pull requests, code reviews, and issue tracking.
## Key Features
**Repositories**: Store your project code and entire version history.
**Pull Requests**: Propose changes for review before merging. Team members comment, suggest improvements, approve.
**Issues**: Track bugs, features, and tasks. Discuss and assign work.
**Actions**: Automate workflows - run tests, deploy code, anything on every commit.
**Collaboration**: Multiple people work on the same project without stepping on each other toes.
## How Teams Use GitHub
1. Developer creates a branch for a new feature
2. Writes code and commits changes
3. Opens a pull request for review
4. Team members review code, suggest changes
5. After approval, code merges into main branch
6. Automated tests and deployment happen via GitHub Actions
This workflow prevents bugs and maintains code quality.
## GitHub vs Git
**Git**: Version control tool (runs locally on your computer)
**GitHub**: Online platform that hosts Git repositories
You can use Git without GitHub, but GitHub makes sharing and collaboration easy.
## Real-World Impact
**Major Companies**: Google, Microsoft, Facebook, and virtually every tech company use GitHub for code hosting and collaboration.
**Open Source**: React, TensorFlow, Linux, VS Code - built collaboratively on GitHub by thousands of developers worldwide.
**Learning**: Explore how popular projects are built, read production code, learn from others.
## Getting Started
1. Create a GitHub account (free)
2. Create a repository
3. Push your local Git repository to GitHub
4. Others can now see, clone, and contribute to your project
## Why It Is Important
GitHub skills are expected in every developer job. Knowing how to create repos, make pull requests, and review code is as fundamental as knowing Git itself.
It is not just a tool - it is where the software development community lives. Contributing to open source, building a portfolio, and collaborating with teams all happen on GitHub.