ネットサービス

GitHubがスタック型プルリクエストを公式で行える「GitHub Stacked PRs」を公開、まずはプライベートプレビューでスタート


GitHubが「スタック型プルリクエスト」という開発手法を公式にサポートする機能「GitHub Stacked PRs」を発表しました。

GitHub Stacked PRs | GitHub Stacked PRs
https://github.github.com/gh-stack/



開発者がコードを書くにあたって、大きな機能を実装する場合でも小さな変更を積み重ねて一歩ずつ開発していくのが一般的です。開発にGitHubを利用する場合は、こうした変更をプルリクエストにまとめ、リポジトリの管理者がレビューしてからマージすることになります。しかし、小さな変更が大量に積み重なることで最終的に巨大なプルリクエストになり、レビュー側が変更点や相互作用を把握しなければならず、レビューの難度が上がってしまうという問題があります。


そこで開発されたのが「スタック型プルリクエスト」という手法です。

スタック型プルリクエストは、開発者が比較的小さな変更を加えた時点でプルリクエストを行い、そのプルリクエストを元に次のステップを開発するというもの。レビューを待たずにプルリクエストの上にプルリクエストを重ねていくので「スタック型」というわけ。細かいコードに分けてレビューを行えるため、レビューの負荷が軽減されます。


一方、元となっているプルリクエストに修正が行われると、それ以降のスタック全てを修正する「リベース」という作業が必要なので、これまで「ghstack」などのスタック型プルリクエスト用ツールが使用されてきました。

今回登場した「GitHub Stacked PRs」はGitHubが公式に用意したスタック型プルリクエスト用ツールです。GitHub本体に組み込まれることで、GitHubのプルリクエスト画面で「今見ているプルリクエストがスタックのどの位置にあるのか」を示すスタックマップが表示され、スタック全体の状態を一目で確認し、スタック内の別のプルリクエストを簡単に表示することが可能になっています。


また、スタックされた複数のプルリクエストをワンクリックでまとめてマージできるとのこと。下位のプルリクエストがマージされたり修正されたりした場合、上位のプルリクエストが自動的にリベースされるようになっています。


リポジトリにCIが設定されている場合も、最終的なマージ先をターゲットにしているかのように動作するそう。ブランチ保護ルールも同様に最終的なマージ先を基準にするとのこと。

記事作成時点ではGitHub Stacked PRsはプライベートプレビューで、利用したい場合は待機リストへ登録する必要があるとのことです。

この記事のタイトルとURLをコピーする

・関連記事
GitHubの活動をスクレイピングしユーザーにスパムメールを送信しているスタートアップ企業が次々と見つかり炎上 - GIGAZINE

GitHubがうまくいった理由を共同創設者が解説 - GIGAZINE

法律をGitHubのプルリクエスト機能を使って修正するその一部始終が公開中 - GIGAZINE

MicrosoftのAI「Copilot」が勝手にプルリクエストに広告を挿入 - GIGAZINE

GitHub Actionsが価格プランの変更を発表、開発者から「値上げだ!」と猛反発を受けて大炎上して延期に - GIGAZINE

in ネットサービス, Posted by log1d_ts

You can read the machine translated English article GitHub has officially launched 'GitHub S….