GH-900: Exam Guide โ
โ Overview ยท Cheatsheet โ
How the Exam Wants You to Think โ
The GH-900 exam is for GitHub users of all backgrounds โ developers, students, project managers, and anyone working with code. It values practical, platform-level knowledge over deep technical implementation.
Answer Philosophy โ
- Think "GitHub feature," not "git command" โ When asked how to accomplish something collaboratively, the answer is almost always a GitHub feature (PR, Issue, branch protection), not a raw git command.
- Prefer the built-in GitHub way โ GitHub has built-in tools for almost everything. The exam prefers using those (Actions, Projects, Dependabot) over external alternatives.
- Collaboration over solo work โ When in doubt, the "right" answer involves a pull request, code review, or team-based workflow.
- Visibility matters โ Internal repos, org permissions, and team access settings are frequently tested. Always consider "who can see this and why."
Keyword Detection Table โ
| If you see... | Look for this in the answer... |
|---|---|
| "automate" / "on every push" | GitHub Actions |
| "cloud dev environment" / "run code in browser" | Codespaces |
| "quick edit in browser" / "no terminal" | github.dev |
| "propose changes to a repo you don't own" | Fork โ PR |
| "protect the main branch" | Branch protection rules |
| "require approval before merge" | Required reviewers / branch protection |
| "automatically assign reviewers" | CODEOWNERS |
| "track a vulnerability in a dependency" | Dependabot alerts |
| "prevent secret from being committed" | Secret scanning push protection |
| "group issues toward a deadline" | Milestones |
| "track work across repos" | GitHub Projects |
| "share code within the company only" | Internal repo / InnerSource |
| "open Q&A with the community" | Discussions |
| "trackable bug or task" | Issues |
| "sprint planning / iterations" | GitHub Projects (iteration field) |
| "AI code suggestions in IDE" | GitHub Copilot |
| "financial support for open source devs" | GitHub Sponsors |
| "all org members can see but not public" | Internal repository |
| "no license on the repo" | All rights reserved (cannot use/copy) |
| "copy of repo without commit history" | Template repository |
Exam Traps โ
Watch out for these common mistakes!
github.dev vs Codespaces: Both open in a VS Code-like interface. The trap:
github.devhas NO terminal and cannot run code. If the question involves running tests or a server โ Codespaces.Fork vs Clone: Forking is for repos you don't own (creates a copy on GitHub). Cloning is for repos you have write access to (downloads locally). Confusing them loses points on contribution workflow questions.
Issues vs Discussions: Issues are for trackable work (bugs, tasks) that can be linked to PRs and closed. Discussions are for open-ended Q&A, announcements, and ideas. A question asking about "community conversation" โ Discussions. "Bug to fix" โ Issues.
Classic Projects vs New Projects: Classic Projects = Kanban only. New Projects = Board + Table + Roadmap + custom fields. If the answer involves a Roadmap or custom field โ New Projects.
Merging to non-default branch won't close issues:
Fixes #42only auto-closes Issue 42 when merged into the default branch (e.g.,main). Merging a feature branch into another feature branch โ issue stays open.No license โ open source: A repo without a license is NOT free to use. All rights are reserved. The exam may try to trick you with "the code is public on GitHub so it's open source." Wrong.
Template repo vs Fork: Template creates a new repo with no commit history and no link to original. Fork preserves history and stays linked. If question says "fresh start" โ template.
Dependabot alerts vs security updates: Alerts = notifications. Security updates = auto-PR to fix. Both require enabling in Settings โ Security.
Decision Quick Reference โ
"Editor or Environment?" โ
Quick file edit in browser, no compute needed โ github.dev (press ".")
Full dev environment, run code, terminal โ Codespaces
Local machine development โ Clone + local IDE"Issues or Discussions?" โ
Bug report / feature request / trackable task โ Issue
Open question, idea, community announcement โ Discussion
Want to link to a PR โ Issue (Discussions cannot link)"Fork or Clone?" โ
Contributing to a repo you don't own โ Fork โ clone fork โ PR
Working on a repo you have write access to โ Clone directly
Fresh start from an existing structure โ Template repository"Milestone or Project?" โ
Simple deadline-based grouping in one repo โ Milestone
Multi-repo, multi-view tracking โ GitHub Project
Need custom fields or roadmap view โ GitHub Project (v2)"Branch protection rule type?" โ
Must pass CI before merge โ Require status checks
Minimum number of PR approvals โ Require N approving reviews
New commits reset approval โ Dismiss stale reviews
All comments must be addressed โ Require conversation resolution
Prevent force pushing โ Restrict force pushesFinal Strategy โ
- Domain 3 is 30% โ own it: Issues, PRs, code review, merge strategies, CODEOWNERS, labels, milestones. This alone is almost a third of the exam.
- Domain 1 is 22% โ master Git basics: The three states, commit/branch/merge, git commands, GitHub vs Git distinction.
- D1 + D3 = 52% โ two domains cover more than half the exam. Prioritize ruthlessly.
- For unclear questions, ask: "What is the most GitHub-native, collaborative answer?" That's almost always right.
- Eliminate the non-GitHub answers first: If a choice involves a third-party tool when a native GitHub tool exists, it's probably wrong.