
GitHub
Made Crystal Clear
A Visual Beginner's Guide to Git, Pull Requests, Code Review, and Actions
Prefer it on your Kindle, or on paper? Same book, on Amazon.
Who this book is for
In plain words: GitHub is where teams keep their code online, review each other's changes, track work, and ship software automatically.
- Developers and students who use GitHub every day
- Career changers starting their first projects
- Product managers and analysts who work next to engineers
- Not for: Not for you if you first need to understand Git itself. Try Git Made Crystal Clear.
Maybe you have tried to learn GitHub more than once, copied commands until something worked, and still could not say where your file went. This visual beginner's guide starts with one picture of git and GitHub, then walks the loop a team uses every day. Inside, you will learn to tell git from GitHub, and know where your file is at any moment with one command, git status; branch, open a pull request, merge, and settle a merge conflict without panic; write small pull requests that get a careful read, and review a fifty file change over two sittings; read a GitHub Actions workflow line by line, find why a run went red, and stop paying for minutes you did not need; switch on push protection and secret scanning, and rotate a leaked key the same day (deleting the file fixes nothing); and get your first pull request merged into a project you do not own. Fifteen chapters, 33 diagrams and 23 step by step recipes. Every idea has a diagram, every recipe is numbered with the result you should see, and every chapter ends with a Try it to check yourself. The words stay plain, and the real terms stay in. Whether you are a student, a job seeker, a developer joining a team, the person who pays for the Actions minutes, or someone who simply works next to code, one small project of your own goes from a first commit to a tagged release.
- Pages
- 229
- Level
- Beginner to advanced
- Updated
- October 31, 2026
12 real pages. Click a page to enlarge it.
Inside the book
- 01The GitHub Moment
- 02Your First Repository
- 03The GitHub Flow: Branch, Pull Request, Merge
- 04Pull Requests Worth Reviewing
- 05Reviewing Code: A Method, Not a Button Tour
- 06How Real Teams Work: Issues, Branches, and a Model That Fits
- 07Guardrails: Rulesets, Code Owners, Permissions
- 08GitHub Actions: From Mystery to Model
- 09When the Run Goes Red
- 10Ship It: Releases, Versions, and Pages
- 11Security You Already Have
- 12Your First Contribution to Someone Else's Project
- 13Your Profile in Sixty Seconds
- 14What GitHub Costs, and What Happens When It Goes Down
- 15The Cheat Sheet and Your Ninety Days
You'll leave with
- Tell git from GitHub, and know where your file is at any moment with one command, git status
- Branch, open a pull request, merge, and settle a merge conflict without panic
- Write small pull requests that get a careful read, and review a fifty file change over two sittings
For teams
Put GitHub on every desk at your company.
One licence, every book in the series, one link for everyone. From $250 a year.
Sources
Every source cited in GitHub Made Crystal Clear. Each number matches the [n] marker next to that link in the book's "Go deeper" lists, so you can trace any claim back to its origin.
- [1]About GitHub and Git (GitHub Docs)
- [2]About Git (GitHub Docs)
- [3]Hello World (GitHub Docs)
- [4]GitHub flow (GitHub Docs)
- [5]About repositories (GitHub Docs)
- [6]About large files on GitHub (GitHub Docs)
- [7]About authentication to GitHub (GitHub Docs)
- [8]About GitHub (github.com)
Show all 194 sources
- [9]Creating an account on GitHub
- [10]About two-factor authentication
- [11]Generating a new SSH key and adding it to the ssh-agent
- [12]Set up Git
- [13]About READMEs
- [14]Basic writing and formatting syntax
- [15]Licensing a repository
- [16]About pull requests
- [17]About branches
- [18]About pull request merges
- [19]About merge conflicts
- [20]Resolving a merge conflict using the command line
- [21]Small CLs (Google Engineering Practices)
- [22]Speed of code reviews (Google Engineering Practices)
- [23]Best practices for peer code review (SmartBear, reporting the Cisco Systems study)
- [24]Linking a pull request to an issue (GitHub Docs)
- [25]About pull request reviews (GitHub Docs)
- [26]Do Small Code Changes Merge Faster? A Multi-Language Empirical Investigation
- [27]DORA: the four keys
- [28]gh pr create (GitHub CLI manual)
- [29]Filtering files in a pull request (GitHub Docs)
- [30]Managing a branch protection rule (GitHub Docs)
- [31]The standard of code review (Google Engineering Practices)
- [32]Using Copilot code review (GitHub Docs)
- [33]Copilot code review concepts (GitHub Docs)
- [34]Announcing the 2024 DORA report (Google Cloud)
- [35]About issues (GitHub Docs)
- [36]Setting guidelines for repository contributors (GitHub Docs)
- [37]Syntax for issue forms (GitHub Docs)
- [38]About Projects (GitHub Docs)
- [39]About teams (GitHub Docs)
- [40]Configuring notifications (GitHub Docs)
- [41]Showing your private contributions and achievements (GitHub Docs)
- [42]About protected branches
- [43]About rulesets
- [44]About code owners
- [45]Repository roles for an organization
- [46]GitHub's plans
- [47]GitHub pricing
- [48]GitHub Flow (Scott Chacon, 2011)
- [49]A successful Git branching model (Vincent Driessen, 2010)
- [50]Trunk Based Development
- [51]DORA capability: trunk-based development
- [52]DORA capability: continuous delivery
- [53]Continuous Integration (Martin Fowler, revised 18 January 2024)
- [54]Understanding GitHub Actions
- [55]Quickstart for GitHub Actions
- [56]Events that trigger workflows
- [57]Workflow syntax for GitHub Actions
- [58]Running variations of jobs in a workflow
- [59]Dependency caching reference
- [60]Using secrets in GitHub Actions
- [61]Automatic token authentication
- [62]GitHub Actions limits
- [63]GitHub Status
- [64]GitHub Status incident history
- [65]GitHub-hosted runners reference (GitHub docs)
- [66]Billing for GitHub Actions (GitHub docs)
- [67]Actions runner pricing (GitHub docs)
- [68]Understanding and Detecting Flaky Builds in GitHub Actions
- [69]About releases (GitHub Docs)
- [70]Semantic Versioning 2.0.0
- [71]Conventional Commits 1.0.0
- [72]How to Write a Git Commit Message (Chris Beams)
- [73]Deployments and environments (GitHub Docs)
- [74]What is GitHub Pages? (GitHub Docs)
- [75]Using custom workflows with GitHub Pages (GitHub Docs)
- [76]Introduction to GitHub Packages (GitHub Docs)
- [77]GitHub security features
- [78]About the dependency graph
- [79]About Dependabot alerts
- [80]About Dependabot version updates
- [81]About secret scanning
- [82]About push protection
- [83]About forks
- [84]About code scanning with CodeQL
- [85]Billing for GitHub Advanced Security
- [86]Open Source Guides: How to Contribute
- [87]Open Source Guides: Best Practices for Maintainers
- [88]Searching for repositories (GitHub Docs)
- [89]AI Policy, Disclosure, and Human in the Loop: How Are Contribution Guidelines Adapting to GenAI?
- [90]Open source AI contribution policies (melissawm)
- [91]About GitHub CLI (GitHub Docs)
- [92]About your profile (GitHub Docs)
- [93]Pinning items to your profile (GitHub Docs)
- [94]Using your GitHub profile to enhance your resume (GitHub Docs)
- [95]Saving repositories with stars (GitHub Docs)
- [96]Understanding GitHub code search syntax (GitHub Docs)
- [97]GitHub Actions pricing calculator
- [98]GitHub security plans
- [99]GitHub Copilot plans (GitHub Docs)
- [100]State of CI/CD Report (CD Foundation and SlashData)
- [101]GitHub (Wikipedia)
- [102]Octoverse 2024 (GitHub blog)
- [103]The August 17 outage, and the work ahead (GitHub blog)
- [104]2026 pricing changes for GitHub Actions (GitHub)
- [105]Ubuntu 26 generally available and latest migration (GitHub Changelog)
- [106]Node 20 is no longer available in GitHub Actions (GitHub Changelog)
- [107]actions/checkout releases
- [108]actions/deploy-pages releases
- [109]GitHub Actions: macOS 14 runner image retirement (GitHub Changelog)
- [110]Re-running workflows and jobs (GitHub Docs)
- [111]Removing workflow artifacts (GitHub Docs)
- [112]Workflow execution protections in GitHub Actions generally available (GitHub Changelog)
- [113]GitHub Codespaces billing (GitHub Docs)
- [114]Git LFS billing (GitHub Docs)
- [115]About mandatory two-factor authentication (GitHub Docs)
- [116]Security improvements for SSH (GitHub Changelog)
- [117]Deleted or missing SSH keys (GitHub Docs)
- [118]Some Git over HTTPS may temporarily require authentication (GitHub Changelog)
- [119]Stacked pull requests generally available (GitHub Changelog)
- [120]Set pull request limits at the organization level (GitHub Changelog)
- [121]Draft pull requests count toward pull request limits (GitHub Changelog)
- [122]Automatically migrate branch protection rules to repository rulesets (GitHub Changelog)
- [123]Copilot code review: API support and new default effort level (GitHub Changelog)
- [124]Copilot code review: New organization billing options and controls (GitHub Changelog)
- [125]Using GitHub Copilot code review (GitHub Docs)
- [126]Upcoming changes to GitHub Copilot policies and billing (GitHub Changelog)
- [127]About Copilot cloud agent (GitHub Docs)
- [128]GitHub Advanced Security trials for GitHub Team (GitHub Changelog)
- [129]AI Scan for pull requests generally available (GitHub Changelog)
- [130]Block pull requests with exposed secrets from merging (GitHub Changelog)
- [131]Secret scanning blocks Anthropic keys by default, adds Salesforce (GitHub Changelog)
- [132]About GitHub code search (GitHub Docs)
- [133]Pinning items to your profile (GitHub Docs)
- [134]Setting your profile to private (GitHub Docs)
- [135]Profiles now show your highest achievement badge tier (GitHub Changelog)
- [136]DORA research (dora.dev)
- [137]git-status documentation (git-scm.com)
- [138]Test runner (Node.js documentation)
- [139]Recovering your account if you lose your 2FA credentials (GitHub Docs)
- [140]Creating a new repository (GitHub Docs)
- [141]scripts (npm Docs)
- [142]gh auth login (GitHub CLI manual)
- [143]Ignoring files (GitHub Docs)
- [144]Managing your personal access tokens (GitHub Docs)
- [145]Managing remote repositories (GitHub Docs)
- [146]Agent Merge watches and fixes pull requests in the cloud (GitHub Changelog)
- [147]git-merge documentation (git-scm.com)
- [148]Reverting a pull request (GitHub Docs)
- [149]git-revert documentation (git-scm.com)
- [150]About stacked pull requests (GitHub Docs)
- [151]Stacked pull requests CLI commands reference (GitHub Docs)
- [152]Copilot code review: merge with confidence with Max and approvals (GitHub Changelog)
- [153]Managing labels (GitHub Docs)
- [154]npm ci (npm Docs)
- [155]package-lock.json (npm Docs)
- [156]Creating rulesets for a repository (GitHub Docs)
- [157]Available rules for rulesets (GitHub Docs)
- [158]GitHub Actions workflow lockfiles are generally available (GitHub Changelog)
- [159]Bulk migrate branch protections to rulesets for a repository (GitHub Changelog)
- [160]Creating rulesets for a repository, Enterprise Cloud edition (GitHub Docs)
- [161]Approving a pull request with required reviews (GitHub Docs)
- [162]Troubleshooting rules (GitHub Docs)
- [163]Secure use reference (GitHub Docs)
- [164]Troubleshooting the REST API (GitHub Docs)
- [165]Enabling debug logging (GitHub Docs)
- [166]Automatically generated release notes (GitHub Docs)
- [167]Managing releases in a repository (GitHub Docs)
- [168]Immutable releases (GitHub Docs)
- [169]Preventing changes to your releases (GitHub Docs)
- [170]GitHub Pages limits (GitHub Docs)
- [171]Optimizing the creation of pull requests for Dependabot version updates (GitHub Docs)
- [172]Quickstart for securing your repository (GitHub Docs)
- [173]Removing sensitive data from a repository (GitHub Docs)
- [174]Working with push protection from the command line (GitHub Docs)
- [175]AI Scan for repositories in public preview (GitHub Changelog)
- [176]Push protection beyond predefined secret patterns (GitHub Changelog)
- [177]Pull request limits: exempt contributors by age or history (GitHub Changelog)
- [178]Syncing a fork (GitHub Docs)
- [179]Profile reference (GitHub Docs)
- [180]Profile contributions reference (GitHub Docs)
- [181]About discussions (GitHub Docs)
- [182]About the REST API (GitHub Docs)
- [183]About creating GitHub Apps (GitHub Docs)
- [184]GitHub Copilot is moving to usage-based billing (GitHub Changelog)
- [185]Updates to GitHub Copilot interaction data usage policy (GitHub blog)
- [186]GitHub Packages billing (GitHub Docs)
- [187]Budgets and alerts (GitHub Docs)
- [188]git clone (Git documentation)
- [189]Duplicating a repository (GitHub Docs)
- [190]GitHub Actions adds multi cloud compute to improve reliability (GitHub Changelog)
- [191]About repository security advisories (GitHub Docs)
- [192]GitHub Enterprise now includes access to GitHub Copilot (GitHub Changelog)
- [193]git-rebase documentation (git-scm.com)
- [194]git-push documentation (git-scm.com)
Also in the series
37 more titles, one tool or topic each. Swipe or use the arrows.
New books, in your inbox
One short note when a new Made Crystal Clear guide ships.
No spam, unsubscribe anytime.






































