NAW / PRODUCTS 03
IMAGE: AI生成ビジュアル
PRODUCTS / GitHub
GitHub、スタック型プルリクエストを正式提供 — マージキュー統合と自動マージで大型変更の分割運用を支援
GitHubがスタック型プルリクエスト(stacked pull requests)の一般提供(GA)を10月6日(米国時間)に発表。大型変更を小さなPRに分割して独立レビューし、まとめてマージする運用を公式支援。プレビュー以降の効果としてマージ済みコード9%増などを公表し、GAでマージ・リベース・自動化まわりを改善した。
GitHubは2026年10月6日(米国時間)、スタック型プルリクエスト(stacked pull requests)の一般提供(GA) を公式changelogで発表した。大型の変更を小さく焦点を絞ったプルリクエストに分割し、個別にレビューしてまとめてマージする運用を公式機能として支援する。2026年7月30日のパブリックプレビュー開始からのフィードバックを反映し、GAでマージ・リベース・自動化まわりの改善を加えている。
GAの内容 — 分割レビューと一括マージの運用支援
- 基本機能: 大型変更を依存関係のある小さなPR群(スタック)に分割し、各PRを独立にレビューしてまとめてマージする。スタック単位での作成・レビュー・マージがGAで正式機能になった。
- 効果指標(GitHub公称): プレビュー開始以降、スタックを使うリポジトリでは比較対象に対してマージ済みコードが9%増加。上位1%のリポジトリの3分の2超がスタック型PRを使い、マージまでの時間(time-to-merge)が5%改善したとしている。いずれもGitHub側の発表値であり、独立した検証ではない点に留意が必要だ。
- 提供範囲: github.comの全プランで利用でき、今後のGitHub Enterprise Serverリリースにも含まれる予定とされている。
改善点 — マージ・リベースまわりの柔軟化
- 承認の維持: ベースブランチ(
mainなど)が先に進んだ後にスタックを更新しても、コード自体に変更がなければ Rebase stack が承認を維持する。stale承認を破棄する設定のリポジトリでも有効とされている。 - 署名の維持: Rebase stack 時にGitHubが署名付きの置換コミットを作成し、元の作者情報を保持する。部分マージ後の自動リベースでも、ブランチルールで署名が求められる場合や元のコミットに署名がある場合は置換コミットに署名が付く。
- バイパス権限の適用: リポジトリルールをバイパスできる権限を持つユーザーは、その権限でスタック内の最下層の未マージPRをマージできるようになった。
- マージキューの統合: スタック全体が単一のマージグループとしてマージキューに入り、着地する。マージコミット方式では、グループ全体で1件ではなくPRごとに1件のマージコミットが作られるようになった。
- 自動リターゲット: スタックのベースブランチが削除されると、最下層PRを閉じるのではなく自動でリターゲットする。あるスタックが別のスタックから分岐する運用を支える。
- スタックの自動マージ: マージ要件を満たしたら自動でマージする設定が今後数週間で順次展開される。複数のPRを選択しておき、全PRの準備が整い次第まとめてマージする使い方になると記載されている。
改善点 — 表示・移動・自動化
- スタック表示の常時化: PRが属するスタックの情報が、PRページの固定ヘッダーに常時表示されるようになり、PR一覧からもスタックの詳細を確認できる。
- キーボード操作:
Shift+J・Shift+Kでスタック内のPR間を移動できる。 - ライフサイクルの可視化: PRがスタックに参加・離脱したイベントがタイムラインに表示され、
pull_requestwebhookにはスタック参加時のstackedアクションが追加された。 - CLI・エージェント対応: GitHub CLI拡張の
gh stackがGit worktreeに対応し、初期化・チェックアウト・移動の高速化など複数の改善が入った。エージェント経由の操作を含む自動化ワークフローでの利用が想定されている。