Pull Request
A proposal to merge a branch, carrying review, automated checks, and the discussion around it.
A pull request is a request to merge one branch into another, with a description, a diff, automated checks, and a discussion thread attached. It has become the standard unit of change in collaborative software, largely because it is where review and automation converge.
Its description is a durable artifact, not a formality. On a Squash Merge it becomes the permanent commit message. A useful one states what changed, why, and how it was verified — with the verification claims being genuinely verifiable. A test-plan bullet describing something nobody actually did reads as an observation and is not one, and a reviewer comparing revisions of the description will notice.
Size is the single strongest predictor of review quality. Reviewers engage carefully with small diffs and skim large ones, so a large change gets less scrutiny precisely when it needs more. Splitting into a sequence is the usual remedy; see Stacked Pull Requests.
Two mechanical notes. Changing only the target branch of a pull request does not necessarily re-trigger validation, since the platform's default event set may not include it. And a proposal whose work is visual needs the evidence embedded where the review happens — a path to a local screenshot is invisible on the platform.
See also9
Law of Triviality
The time spent debating an item is inversely proportional to its actual stakes.
Method13 connections
Branching Model
The convention governing what branches exist, what they mean, and how work reaches production.
Version Control & Delivery18 connections
Merge Train
Validating changes against the state they will actually merge into, in order, rather than in isolation.
Version Control & Delivery14 connections
Code Review
A second person reading a change before it lands, and the practices that make it worth the time.
Version Control & Delivery38 connections
Continuous Integration
Automatically building and testing every change, so integration problems surface immediately.
Version Control & Delivery38 connections
Human in the Loop
Requiring a person's judgment at chosen points in an otherwise automated process.
Agents & Language Models12 connections
Trunk-Based Development
Everyone integrating into one shared branch continuously, with short-lived feature branches.
Version Control & Delivery20 connections
Provenance
The recorded origin of a change or a claim — who made it, when, and on what evidence.
Method44 connections
Branch Protection
Server-side rules that stop people from pushing straight to important branches, requiring reviews, passing checks, and intact history instead.
Version Control & Delivery13 connections
Linked from23
- Architecture Decision RecordVersion Control & Delivery
A short document recording one significant technical decision, its context, and its consequences, kept alongside the code so later readers know why the system is shaped the way it is.
- Atomic CommitVersion Control & Delivery
A commit containing exactly one logical change, complete and independently sound.
- Automated Dependency UpdatesVersion Control & Delivery
Bots that open pull requests whenever a dependency releases a new version, how they keep upgrades small and security patches fast, and how they turn into noise or a supply-chain risk when misconfigured.
- Branch ProtectionVersion Control & Delivery
Server-side rules that stop people from pushing straight to important branches, requiring reviews, passing checks, and intact history instead.
- Branching ModelVersion Control & Delivery
The convention governing what branches exist, what they mean, and how work reaches production.
- ChangelogVersion Control & Delivery
A curated, human-readable record of the notable changes in each version of a project, written for the people who use it rather than the people who built it.
- Code ReviewVersion Control & Delivery
A second person reading a change before it lands, and the practices that make it worth the time.
- Conventional CommitsVersion Control & Delivery
A lightweight convention giving commit messages a machine-readable type and scope.
- Conway's LawVersion Control & Delivery
Systems tend to reproduce the communication structure of the organization that built them.
- Fast-Forward MergeVersion Control & Delivery
The two basic ways Git joins branches, by sliding a branch pointer forward or by recording a new commit with two parents, and how the choice shapes a project's history.
- Feature BranchVersion Control & Delivery
A branch created to develop one change in isolation before merging it back, a workflow that keeps the main line stable but grows riskier the longer the branch lives, since its divergence from everyone else's work compounds.
- Force PushVersion Control & Delivery
Overwriting a remote branch with local history that doesn't contain it, the operation that makes rewritten history shareable and silently deletes other people's work when used carelessly.
- Git BlameVersion Control & Delivery
Showing, for every line of a file, the commit and author that last changed it, the starting point for finding out why code is the way it is.
- Git StashVersion Control & Delivery
Git's shelf for uncommitted work, which clears the working tree so you can switch tasks, and the reasons a throwaway commit or a second worktree is often the better shelf.
- GitOpsVersion Control & Delivery
Using a Git repository as the live source of truth for deployed state, reconciled continuously by an in-cluster agent.
- Human in the LoopAgents & Language Models
Requiring a person's judgment at chosen points in an otherwise automated process.
- Law of TrivialityMethod
The time spent debating an item is inversely proportional to its actual stakes.
- Merge TrainVersion Control & Delivery
Validating changes against the state they will actually merge into, in order, rather than in isolation.
- Semantic ConflictVersion Control & Delivery
Two changes that merge cleanly and are incompatible in meaning.
- Squash MergeVersion Control & Delivery
Collapsing a branch's commits into one before merging, trading granularity for a clean main history.
- Stacked Pull RequestsVersion Control & Delivery
A chain of dependent changes, each reviewed separately and merged in order.
- Trunk-Based DevelopmentVersion Control & Delivery
Everyone integrating into one shared branch continuously, with short-lived feature branches.
- Version ControlVersion Control & Delivery
A system recording the history of a project's files, enabling branching, merging, and recovery.