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をコピーする
ソース元はコチラ
この記事は役に立ちましたか?
もし参考になりましたら、下記のボタンで教えてください。



