The Story
Follow the narrative to build a mental model of how everything connects.
The Version Control Garden
Before GitHub, there was Git — created by Linus Torvalds in 2005 to manage Linux kernel development. Git is distributed: every developer has a complete copy of the repository history. Changes flow through three states: you edit in the working directory, stage with git add, and commit to create a permanent snapshot.
The GitHub Layer
GitHub wraps Git in a web platform that adds collaboration, visibility, and automation. Repositories become the home for code, documentation, and project management. Public repos are free and open; private repos protect proprietary work. Every repository gets a README, Issues, Pull Requests, and Actions — right out of the box.
The Branching Strategy
Branches are parallel timelines for your code. You create a feature branch from main, make your changes in isolation, and merge back when ready. This keeps the default branch stable while enabling experimentation. HEAD always points to where you are.
The Pull Request Ritual
Pull requests are the heart of GitHub collaboration. You push a branch, open a PR, describe your changes, and request review. Reviewers examine the diff, leave comments, and approve or request changes. Branch protection rules enforce quality gates — requiring reviews and passing checks before merge.
The Automation Engine
GitHub Actions turns your repository into a CI/CD pipeline. Workflows defined in YAML respond to events — a push triggers tests, a PR triggers linting, a release triggers deployment. Jobs run on cloud runners, and the Marketplace offers thousands of pre-built actions.
The Modern Developer Toolkit
GitHub Pages publishes static websites directly from your repository — perfect for documentation, portfolios, and project sites. GitHub Copilot brings AI into your editor, suggesting completions and generating code from natural language prompts. Together they represent the modern development experience.
The Project Command Centre
Issues are the universal tracking unit — bugs, features, tasks. Labels categorise, milestones group toward goals, and assignees own the work. GitHub Projects (v2) provides kanban boards and spreadsheet views with custom fields, automation, and iteration planning for agile teams.
The Security Fortress
GitHub protects code at every layer. Dependabot watches for vulnerable dependencies and opens fix PRs automatically. Code scanning with CodeQL finds bugs before they ship. Secret scanning catches accidentally committed tokens. Repository permissions follow least privilege — Read, Triage, Write, Maintain, Admin.
The Open Source Commons
Open source thrives on GitHub. Forking creates your copy; pull requests contribute back. Stars signal popularity, CONTRIBUTING.md guides newcomers, and CODE_OF_CONDUCT.md sets community standards. GitHub Sponsors enables financial support for maintainers — sustaining the ecosystem that powers modern software.
