0:00 0:00
記事
GitHubに「Stacked Pull Requests」が登場——大きな変更を小さなPRの積み重ねに分割、マージは1クリックで
GitHubが積み重ね型のプルリクエスト「Stacked Pull Requests」をパブリックプレビューとして公開。大きな変更をレイヤーごとの小さなPRに分割して並行レビューし、スタック全体を1クリックでマージできます。CLI拡張やコーディングエージェントにも対応します。
GitHubは2026年7月30日、積み重ね型のプルリクエスト「Stacked Pull Requests」をパブリックプレビューとして公開しました。大きな変更を、順序付きの小さなプルリクエストの連なりに分割し、レイヤーごとにレビューしたうえで、最後は1クリックでまとめてマージできる仕組みです。巨大PRのレビュー待ちと、手作業のリベース地獄という、開発チーム積年の悩みに対するGitHub本体からの回答です。
「巨大PR」と「手動リベース」からの解放
Stacked Pull Requestsは、ひとつの大きな変更を、焦点の絞られたレイヤーごとのプルリクエストとして積み上げる機能です。各PRはすぐ下のレイヤーのブランチをターゲットにし、それぞれを独立してレビュー・チェックできます。
これまで大きな機能開発では、レビューに何日もかかる巨大なPRをひとつ作るか、複数ブランチに分割して依存関係のリベースを手作業で管理し続けるかの二択でした。スタックなら、短く範囲の狭いPRを並行してレビューしながら、大きな変更全体を前に進められます。既存のブランチ保護や必須チェックもそのまま機能するため、mainの品質管理を変えずに導入できます。

画像引用元: GitHub Changelog
レイヤーごとにレビューし、スタックマップで全体を把握
スタック内の各プルリクエストを開くと、そのレイヤーだけの差分が表示されます。PR上部の「スタックマップ」を見れば、いまレビューしている変更が全体のどこに位置するのかをすぐ把握できます。チームメンバーがそれぞれ別のレイヤーを同時にレビューできるので、レビュー待ちで後続の作業が止まることもありません。
Next.jsを率いるVercelのTim Neutkens氏は、数か月前からNext.js開発でこの機能を使っており、大きな機能を出荷しながら個々の変更を小さく保てるようになったとコメントしています。
マージは「1つ・一部・全部」を選べる
マージの挙動も柔軟です。スタック内で準備の整った最新のPRをマージすると、その下にある未マージのレイヤーすべてが一度の操作でまとめてマージされます。逆に下のレイヤーだけを先にマージすることもでき、その場合、上に積まれたPRは開いたまま自動的にリベースとターゲット変更が行われます。
jQueryの作者John Resig氏は、5つの積まれたPRをマージキューへ一気に投入できたとして、「摩擦が大きく減った」と評価しています。マージキュー対応は今後数週間かけて段階的に展開される予定です。
AI時代のレビュー渋滞への処方箋
興味深いのは、導入企業が語る背景です。TEDのCTOであるAndy Merryman氏は、AIによって開発者の生産性が劇的に上がった結果、PRが肥大化してレビュアーが追いつかなくなるという新しいボトルネックが生まれたと述べています。Stacked Pull Requestsで変更を依存順の小さな塊に分ければ、レビューは速くなるだけでなく正確になり、フィードバックループが引き締まるとのことです。
コーディングエージェントが大量のコードを生み出す時代には、人間のレビュー帯域こそが希少資源です。レビュー単位を小さく保つ仕組みがGitHub本体に組み込まれた意味は大きいといえます。
CLI拡張やエージェント連携も最初から
利用はCLI拡張のインストールから始められます。gh extension install github/gh-stackを実行すれば、ターミナルから1分でスタックを作成できます。スタックの操作はgithub.com、GitHub CLI、モバイルアプリに加えて、gh-stackスキルを使えばGitHub Copilotのようなコーディングエージェントからも行えます。
機能は今後数日かけて全リポジトリに順次展開されます。Graphiteのようなサードパーティ製スタックツールを使ってきたチームも、標準機能としての使い勝手を一度試してみる価値があるでしょう。
Stacked pull requests are now in public preview
Stacked pull requests break large changes into small, reviewable pull requests. They’re an ordered series of pull requests that each represent focused layers of your change. With stacks, you can…