GitHub Copilotアプリ、セッションとPRの積み重ねに対応
10年放置の刷新
巨大PRの回避
詳細を読む
GitHubは7月30日、公式ブログでCopilotアプリのスタックセッションと積み重ね型のプルリクエスト(PR)を紹介しました。スタックとは、同じリポジトリ内で各PRが一つ下のPRのブランチを対象にし、順序付きの連鎖を作ってmainブランチに着地する仕組みです。同社のキャシディ・ウィリアムズ氏は、10年以上放置していた自作アプリの刷新でこの機能を使い、作業を分割しながら進めた過程を公開しました。
対象は2014年末ごろに作った個人用ダッシュボードで、React 15やLess、当時のreact-bootstrapが残る構成でした。同氏はPlanモードで刷新方針を練り、Claude Opus 4.8に計画を渡してGPT-5.5のレビューも受けたうえで一括実行を試みましたが、一発では通りませんでした。
原因は本人の側にありました。過去に一部を近代化したdevブランチが実運用に使われており、mainから分岐した変更では必要な機能が欠けていたのです。依頼を出すとCopilotアプリは新しいセッションを作り、失敗したPRを閉じたうえで、決めたスタイル方針をdevブランチ向けの変更へ移植しました。
次に浮上したのが、react-bootstrapに残るfindDOMNodeなどの古い記述です。ライブラリごと入れ替えるか更新で済ませるかをPlanモードで検討した結果、全面置換が推奨されましたが、進行中の作業に混ぜるとスコープが膨らみます。そこで現行分をPRにまとめ、その作業から分岐する新しいセッションを立て、devへ順番にマージする二段構えにしました。
エージェントに任せられる範囲が広がるほど、一つのPRに何千行も詰め込みたくなる誘惑は強まります。スタック構造は、依存関係のある変更を順番どおりに保ちつつ、レビュー単位を小さく抑える現実的な答えになります。PRスタックはGitHub上でコードをコミットできる場所ならどこからでも、スタックセッションはCopilotアプリから利用できます。