Two-thirds of all code on GitHub is merged by the same person who wrote it.
Self-Merged
of all PRs on GitHub
Based on 3,387,250 merged PRs | GitHub Archive / BigQuery | December 2024
Our analysis of 3,387,250 merged pull requests reveals a stark reality: the vast majority of code ships without a second pair of eyes.
2,346,381
Self-merged PRs (68.03%)
1,102,410
Merged by other (31.97%)
"Two-thirds of all code on GitHub is merged by the same person who wrote it."
Self-merging isn't inherently problematic. There are legitimate scenarios where requiring a second reviewer adds friction without adding value.
Individual developers working on personal projects have no one to review their code. Self-merge is the only option, and that's perfectly fine.
When production is down, waiting for a code review isn't practical. Trusted engineers need the ability to push fixes immediately.
Senior maintainers with deep domain knowledge may not need review on routine changes. Their experience is the review.
README updates, configuration tweaks, and non-functional changes often don't need the same rigor as production code.
"Code review isn't the norm. It's the exception."
The problem arises when self-merge becomes the default for code that should be reviewed. High self-merge rates in certain contexts indicate broken processes.
Many organizations claim to have a strong code review culture. But the data tells a different story. When two-thirds of code merges without a reviewer, "culture" is aspirational, not actual.
"All code must be reviewed before merge. We take code quality seriously."
68% of PRs merge without a different person involved. Review is optional in practice.
True code review culture requires more than policy—it requires tooling that enforces it, time allocated for it, and metrics that track it.
Self-merge isn't inherently bad—context matters.
Solo maintainers, trusted senior engineers, and hotfixes often don't need a second pair of eyes. The problem is when self-merge becomes the default for production code in teams that claim to have "code review." If your team's self-merge rate is above 50%, you don't have a code review culture—you have a code review aspiration.
GitHub's branch protection rules can require at least one approving review before merge. This is the minimum bar for production branches.
Configure rules so that the PR author cannot approve their own changes. Self-approval defeats the purpose of review.
Automatically request reviews from domain experts. CODEOWNERS ensures the right people see changes to critical paths.
You can't improve what you don't measure. Monitor self-merge rates, review time, and reviewer distribution to understand your actual review culture.
This analysis is based on 3,387,250 merged pull requests from GitHub Archive / BigQuery during December 2024. A PR is classified as "self-merged" when the merge was performed by the same GitHub user who opened the PR. This includes bot PRs where bots may self-merge automated changes. For full methodology, see the complete study.
CodePulse shows you exactly who's merging what in your repositories.