プルリクエスト 【pull request】 プルリク / マージリクエスト / merge request
概要
プルリクエスト(pull request)とは、分散バージョン管理システム(VCS)の機能の一つで、コードなどを追加・修正した際、本体への反映を他の開発者に依頼する機能。「変更を本人以外がレビューしてから反映させる」という手順を容易に実現することができる。分散型のVCSではプロジェクト本体は中央リポジトリ(リモートリポジトリ)で管理され、各開発者は自分のコンピュータに複製(ローカルリポジトリ)を取って追加や修正を行い、本体へ反映(マージ)させる。
この反映作業は開発者が自分で行うこともできるが、プルリクエスト機能を利用するとプロジェクトの他の開発者に検証と反映を行うよう依頼することができる。プルリクエストが作成されると、他の開発者に変更内容やコードの差分などが通知される。
検証者は通知を読み、変更内容が妥当と判断すれば簡単な操作で本体への反映を実施することができる。反映すべきでないと判断したものは却下することもできる。実装者との間でコミュニーケーションする機能もあり、必要に応じて実装者へ問い合わせたり修正を依頼する場合もある。
変更の反映にプルリクエストを利用することにより、プロジェクトメンバーの間で相互に修正点をレビューしながら開発を進めることができるようになる。また、オープンソースソフトウェアのような公開型のソフトウェア開発では、プロジェクト外の開発者が気軽に修正提案を行えるようになる。
プルリクエストの仕組みはGitなどのVCSで利用できるが、それ自体はバージョン管理システムそのものの機能ではなく、GitHubなどホスティングサービス側が提供している。GitHubの機能として説明されることが多いが、GitLab(「マージリクエスト」と呼ぶ)やBitBucketなど主要なホスティングサービスの多くで利用できる。
(2021.2.7更新)