Skip to content

Squash Merging & PR Size Distribution — Tips from Boris Cherny

A summary of insights shared by Boris Cherny (@bcherny), creator of Claude Code, on March 25, 2026.


1/ 266 Contributions in a Single Day — Always Squash

Boris shared his GitHub contribution graph showing 266 contributions on March 24th — from 141 PRs, always squashed with a median of 118 lines per PR.

  • Squash merging combines all branch commits into a single commit on the target branch — keeping history clean and linear
  • Each PR = one commit makes it easy to revert entire features and simplifies git bisect
  • At high-velocity AI-assisted workflows (141 PRs/day), squash is the pragmatic choice — individual "fix lint", "try this" commits within a branch are noise

Why Squash?

At high-velocity AI-assisted workflows (141 PRs/day), squash is the pragmatic choice. Each PR = one commit makes it easy to revert entire features and simplifies git bisect.


2/ PR Size Distribution — Keep PRs Small

Boris shared the size distribution across those 141 PRs, totaling 45,032 lines changed (additions + deletions):

MetricLines (add+del)Meaning
p50118Median PR size — half of all PRs were 118 lines or fewer
p9049890% of PRs were under 500 lines
p992,978Only ~1 PR exceeded ~3K lines
min2Smallest PR — a quick 2-line fix
max10,459Largest single PR — likely a migration or generated code
  • A median of 118 lines means most PRs are focused and reviewable, even at 141 PRs/day
  • The distribution is heavily right-skewed — the occasional large PR is inevitable (bulk renames, migrations), but the norm is tight
  • Small PRs reduce merge conflict risk, are easier to review, and pair perfectly with squash merging for clean reverts

Key Takeaway

A median of 118 lines means most PRs are focused and reviewable, even at 141 PRs/day. Small PRs reduce merge conflict risk, are easier to review, and pair perfectly with squash merging for clean reverts.


Sources