GitHub: the operating system of shipping
Chapters13
Published13
Edition2026
Languageen-GB
The chapters.
In chronological order
Chapter 01
Git vs GitHub: the primer nobody admits to needing
Git is a version-control program on your machine. GitHub is a company hosting remotes with a workflow product on top. The confusion between them causes real mistakes, and untangling it takes ten minutes.
Published
→
Chapter 02
Repos as the system of record
The mental model behind running an entire shipping operation on GitHub: one repo per concern, private by default with a deliberate public surface, and the repo as durable memory rather than a code drop.
Published
→
Chapter 03
The gh CLI as the daily driver
Auth scopes gate what gh can push, pr/run/repo are the daily verbs, and gh api plus --jq answers every question no subcommand covers.
Published
→
Chapter 04
Branching discipline
Branch-per-task naming conventions, why main never takes a direct commit, and why a scheduled-content branch that lives for days is doing its job rather than going stale.
Published
→
Chapter 05
Pull requests as the unit of shipping
Why every change goes through a PR even when you're the only committer, what squash merge quietly does to your commit history, and the concurrency setting that can cancel a sibling deploy mid-flight.
Published
→
Chapter 06
Actions I: CI gates
How to build a fast GitHub Actions gate that runs typecheck and build on every push and PR, then use that same mechanism to enforce content and policy rules automatically.
Published
→
Chapter 07
Actions II: deploy pipelines
How two sibling GitHub Actions workflows deploy a static site and a PHP backend to the same shared host without stepping on each other.
Published
→
Chapter 08
Actions III: schedules, dispatch, and when NOT to use them
Cron and workflow_dispatch triggers, concurrency groups that queue instead of collide, and two real repos where the right call was to keep a job off GitHub Actions entirely.
Published
→
Chapter 09
Git hooks: policy as code
A single global core.hooksPath repo that blocks name leaks, ties commits to roadmap ticks, and treats bypass as a documented token rather than a silent escape hatch.
Published
→
Chapter 10
The API as a data source
Treating GitHub's REST API as a queryable database for your own sites and tools, with the workshop XP feature and this week's repo-inventory sweeps as the worked examples.
Published
→
Chapter 11
The bill nobody reads: Actions billing
GitHub Actions' buried minutes model, the mid-month block nobody warns you about, and the three-command diagnosis that caught a permanently-failing suite burning 980 minutes.
Published
→
Chapter 12
Incidents and recovery
The recovery repertoire for solo shipping on GitHub: rejected pushes, orphaned PRs holding a stale lock, transient workflow failures, quota-blocked Actions, and the devlog entry that turns each one into a lesson you don't relearn.
Published
→
Chapter 13
Failure drills: detached HEAD, lost commits, and the Recovery Ladder
Real developers spend more time recovering than memorising. Five drills — detached HEAD, the deleted branch, the bad force-push, the merge conflict, the lost commit — and the Recovery Ladder that turns panic into procedure.
Published
→