プルリクエストとは?
プルリクエストは、あるブランチの変更を別のブランチへ取り込む前に、内容の確認や相談を依頼する機能です。GitHubでは英語のPull Requestを略して「PR」、日本語では「プルリク」と呼ばれます。
作業ブランチと取り込み先のブランチを指定すると、変更されたファイルや差分、コミットをまとめて確認できます。コメント、レビュー、テスト結果を一か所へ残せます。
プルやマージとの違い
- プル:リモートの変更を自分のローカルブランチへ取り込むGit操作
- プルリクエスト:ブランチ間の変更を確認し、取り込みを提案する共同作業機能
- マージ:実際に二つのブランチの履歴を統合する操作
名前に「プル」が入っていますが、git pullを実行するボタンではありません。変更をレビューしてからマージするための相談場所と考えると分かりやすくなります。
一人の開発でも役立つ
プルリクエストはチーム専用ではありません。一人で作業するときも、変更の目的、確認したこと、画面のスクリーンショットなどを記録できます。
AIにコードを書いてもらった場合も、いきなりmainへ入れず、プルリクエストの差分で「頼んでいない変更がないか」「テストが通るか」を確認する使い方ができます。
作成前に必要なこと
通常は、作業ブランチをGitHubへプッシュしてからプルリクエストを作ります。レビューで修正が必要になった場合、同じブランチへ追加コミットをプッシュすると、プルリクエストにも反映されます。
マージ後にブランチを削除しても、マージ済みの変更やプルリクエストの記録は残ります。
プルリクエストでは、変更を取り込む先をbaseブランチ、変更を持ってくる側をheadブランチと表します。向きを逆にすると、想定外の大量の差分が表示されることがあります。作成前に「どこから、どこへ」を確認してください。
レビューで承認されたあとも、マージ直前にテスト結果や新しいコミットの有無を確認します。承認後に変更が追加される運用もあるため、最後の差分が確認対象です。