Collaborate Using GitHub
This skill area is 10–15% of the exam. It covers GitHub's core collaboration tools — issues, pull requests, and discussions — plus linking PRs to issues, templates and filters, notifications, and documentation surfaces: Gists, Wikis, and GitHub Pages.
Issues, Pull Requests & Discussions
Issues
- Issues track ideas, tasks, bugs, feedback, and enhancements for a project.
- They support labels, assignees, milestones, projects, task lists, and threaded comments.
- Issues can be created from scratch, from a comment, from a task list item, or from code (e.g. a highlighted line).
- Reference other issues/PRs with
#numberand mention people with@username.
Pull Requests
- A pull request (PR) proposes merging changes from one branch (or fork) into another and is the hub for code review and discussion.
- PRs show the diff, run status checks (CI), collect reviews (approve / request changes / comment), and support suggested changes reviewers can commit directly.
- Merge options: Create a merge commit, Squash and merge (combine all commits into one), or Rebase and merge (replay commits with no merge commit).
- A draft pull request signals work in progress and cannot be merged until marked ready for review.
Know the three merge methods: merge commit keeps all commits and adds a merge node; squash collapses everything into one tidy commit; rebase applies commits linearly with no merge commit. Squash keeps history clean; merge commit preserves full detail.
Discussions
- GitHub Discussions is a forum-style space for open-ended conversation — Q&A, announcements, ideas, and community — that doesn't belong in an issue.
- Q&A discussions can be marked with an accepted answer.
- Issues vs. Discussions: issues are actionable, trackable work items; discussions are for conversations without a defined "done" state.
Linking Pull Requests to Issues
Linking closes the loop between work and its tracking item and enables automation.
Closing Keywords
Include a closing keyword + issue number in a PR description (or a commit on the default branch) to automatically close the issue when the PR merges:
close/closes/closedfix/fixes/fixedresolve/resolves/resolved
Example: Fixes #42 in the PR body links the PR to issue #42 and closes it on merge.
A linked issue is closed automatically only when the PR merges into the default branch. Memorize the keyword list — "fixes/closes/resolves #N" is a very common exam item.
Templates, Filters & Assignments
Templates
- Issue templates (Markdown or structured issue forms in YAML) standardize the information contributors provide.
- A pull request template (
PULL_REQUEST_TEMPLATE.md) pre-fills the PR description with a checklist and prompts. - Templates live in the
.githubfolder (or repo root /docs/).
Filters & Search
- Filter issues/PRs with qualifiers like
is:open,is:pr,label:bug,assignee:@me,author:name,milestone:v1. - Save frequent searches and sort by newest, most commented, etc.
Assignments
- Assignees indicate who is responsible for an issue or PR (up to 10).
- Reviewers are requested to review a PR;
CODEOWNERScan auto-request them.
Notifications
- Notifications keep you informed about activity you watch, participate in, or are @mentioned in.
- Delivery channels: the web/mobile inbox and email; configure per-repository and globally in notification settings.
- Watching a repo subscribes you to its activity; you can choose "All Activity," "Participating and @mentions," "Ignore," or custom (e.g. only Releases).
- Reasons appear on each notification (e.g. mention, review requested, assign) to help triage.
GitHub Mobile is the recommended way to triage notifications, review PRs, and respond to mentions away from your desk — a common scenario-based answer.
Gists, Wikis & GitHub Pages
| Surface | Purpose |
|---|---|
| Gist | Share code snippets or single files, standalone from a repo. Public gists are discoverable/searchable; secret gists are not listed but are shareable by URL. Gists are Git repos, so they support versions, forks, and comments. |
| Wiki | A dedicated space attached to a repository for long-form documentation (guides, references) kept separate from the codebase. |
| GitHub Pages | Free static website hosting directly from a repository (e.g. <user>.github.io). Publishes from a branch or a build workflow; ideal for project sites, docs, and portfolios. Supports Jekyll. |
Gist = a snippet to share. Wiki = docs living beside a repo. Pages = a published website served from a repo. This very site is a GitHub Pages example!
Study Resources
- Issues Documentation (GitHub Docs) Creating, labeling, assigning, and tracking issues; issue templates and forms.
- Pull Requests Documentation (GitHub Docs) Reviews, merge methods, draft PRs, and linking PRs to issues.
- Linking a PR to an Issue (GitHub Docs) The full list of closing keywords and how auto-close works.
- GitHub Pages Documentation Publishing a static website from a repository.
- GitHub Foundations — Part 1 (Microsoft Learn) Modules on collaboration features and communication.