Introduction to GitHub
GitHub is the world's largest platform for hosting and collaborating on Git repositories. It adds powerful features on top of Git that make collaboration easier.
What is GitHub?
GitHub is a web-based platform that provides:
- Repository hosting: Store your Git repos in the cloud
- Collaboration tools: Work with teams on code
- Social features: Follow developers, star projects
- Project management: Issues, projects, milestones
- Automation: GitHub Actions for CI/CD
- Documentation: Wikis, README rendering
Git vs GitHub
| Git | GitHub |
|---|---|
| Version control software | Cloud hosting platform |
| Runs on your computer | Runs in the cloud |
| Command-line tool | Web interface + API |
| Free, open source | Free tier + paid plans |
| Works offline | Requires internet |
You can use Git without GitHub (using GitLab, Bitbucket, or self-hosted), but most developers use GitHub.
Key GitHub Concepts
Repository
A repository on GitHub contains:
- Your project's files
- Complete Git history
- Issues and discussions
- Pull requests
- Project settings
Owner Types
| Type | Description |
|---|---|
| User | Personal account (github.com/username) |
| Organization | Team/company account (github.com/org) |
Visibility
| Visibility | Who can see |
|---|---|
| Public | Anyone on the internet |
| Private | Only you and collaborators |
| Internal | Organization members (Enterprise) |
The GitHub Interface
Repository Page
┌─────────────────────────────────────────────────────────┐
│ owner/repository Star Fork │
├─────────────────────────────────────────────────────────┤
│ Code Issues Pull requests Actions Projects Wiki │
├─────────────────────────────────────────────────────────┤
│ main ▼ | branches | tags | Go to file | Code ▼ │
├─────────────────────────────────────────────────────────┤
│ │
│ 📁 src/ │
│ 📁 tests/ │
│ 📄 README.md │
│ 📄 package.json │
│ │
├─────────────────────────────────────────────────────────┤
│ README.md │
│ ───────────────────────── │
│ # Project Name │
│ Description of the project... │
└─────────────────────────────────────────────────────────┘
Main Tabs
| Tab | Purpose |
|---|---|
| Code | Browse files, view README |
| Issues | Bug reports, feature requests |
| Pull requests | Proposed code changes |
| Actions | CI/CD workflows |
| Projects | Kanban boards, planning |
| Wiki | Documentation |
| Security | Vulnerability alerts |
| Insights | Analytics, graphs |
| Settings | Repository configuration |
GitHub Features
Stars
"Starring" a repository is like bookmarking it:
- Shows appreciation
- Saves to your starred list
- Helps repositories gain visibility
Forks
A fork is your personal copy of someone else's repository:
- Full copy under your account
- Can make changes freely
- Used for contributing to projects
Watch
Get notifications about repository activity:
- Participating: Issues/PRs you're involved in
- All Activity: Every issue, PR, commit
- Ignore: No notifications
- Custom: Choose what to watch
Free vs Paid Plans
Free Tier Includes
- Unlimited public/private repos
- Unlimited collaborators
- 2,000 Actions minutes/month
- 500MB Packages storage
- Community support
Paid Plans Add
- More Actions minutes
- Required reviewers
- SAML/SSO
- Advanced audit log
- Enterprise features
Getting Started
Sign Up
- Go to github.com
- Click "Sign up"
- Choose username (choose carefully - it's your identity)
- Verify email
- Complete setup
First Steps
- Set up your profile: Add photo, bio
- Configure SSH: For passwordless authentication
- Explore: Browse popular repositories
- Star: Save interesting projects
- Follow: Follow developers you admire
The GitHub CLI
GitHub provides a CLI tool called gh:
# Install (macOS)
brew install gh
# Authenticate
gh auth login
# Create repo
gh repo create my-project --public
# Clone repo
gh repo clone owner/repo
# Create issue
gh issue create --title "Bug" --body "Description"
# Create PR
gh pr create --title "Feature" --body "Description"
Markdown on GitHub
GitHub renders Markdown beautifully:
# Heading
**Bold** and *italic* text.
- Bullet
- Points
1. Numbered
2. List
`inline code`
```python
def hello():
print("Hello, World!")

### Special Markdown Features
- Task lists: `- [ ] Todo` / `- [x] Done`
- Mentions: `@username`
- Issue references: `#123`
- Emoji: `:rocket:` → 🚀
- Tables, footnotes, alerts
## Summary
- GitHub is the leading platform for Git repository hosting
- Key features: repos, issues, PRs, Actions
- Free tier is generous for most users
- Stars, forks, and watching help you engage with projects
- GitHub CLI (`gh`) provides command-line access
- Markdown is rendered throughout the platform
In the next lesson, we'll learn how to create repositories on GitHub.

