pull request
Also called: PR, pull requests, PRs
A GitHub page that proposes merging one branch into another. It gathers the description, commits, changed files, automated checks and review discussion in one place.
A pull request (PR) is where a change is discussed before it becomes part of main. Its tabs are Conversation (description, comments, reviews, checks), Commits and Files changed (the diff). A PR has a state: open, draft, merged or closed. Most teams require at least one approving review and passing checks before the Merge pull request button can be used.
Learn it in the course
- What is a pull request? Anatomy of a PR page · What a pull request is, read top to bottom: base and compare branches, draft and ready, the four tabs, the description and a pull request template, reviewers and labels, linked issues, checks and the merge box.
- Merging on GitHub: merge commit, squash and merge, rebase · What merging does, the three options behind GitHub's merge button (merge commit, squash and merge, rebase and merge) and what each leaves in the history, a fast-forward merge in plain words, and how to check whether a change is really in main.
- Icons, colours and checks: what every GitHub state means · Read pull request status, issues, GitHub checks, reviews, labels and the merge box at a glance: what every icon and colour means, merged vs closed, and how to tell states apart by shape and text, not colour alone.
- Your first change in the browser, and how to revert it · Make a small change entirely in the GitHub web UI: find the file, edit it in the GitHub web editor, commit to a new branch because main is protected, open a pull request, pass checks and review, merge and deploy. Then undo a merged change with GitHub's Revert button, learn when to revert and when to fix forward, and what a PM should and shouldn't edit.
- GitHub flow: small branches, fast merges · The loop most product teams work in: branch from main, pull request, review and checks, merge, deploy. Why small, short-lived branches are safer, what "merged" and "deployed" mean, how feature flags let unfinished work ship hidden, and how to read a feature's progress from the pull request list.