pull requestとは?
pull requestは、あるbranchを別のbranchへmergeする提案で、ディスカッション、レビュー、自動チェックとともにパッケージ化されています。
pull request、略してPRは、ほとんどのチームにおける協働の単位です。変更のbranchを、説明、diff、会話、そして自動チェックの結果とともにまとめます。レビュアーがコメントし、CIが実行され、すべてが満たされればPRはmergeされます。ここはコード、レビュー、CI/CDが交わる場所です。
pull requestが含むもの
PRはソースbranchとターゲットbranchを指し、それらの間のdiffを示し、変更について議論する場を提供します。レビュー、コメント、そしてすべての自動チェックの状態を蓄積し、変更が準備できているかどうかを一望できるようにします。
pull requestを開く
branchをpushした後、CLIまたはWeb UIでPRを開き、レビューを開始しチェックをトリガーします。
Pushing and opening a PR
git push -u origin feature/search
gh pr create --base main --title "Add search" --body "Adds full-text search"レビューとチェック
チームメイトがdiffをレビューし、変更を要求するか承認します。並行して、CIは提案されたmergeに対してbuildとtestのworkflowを実行し、それぞれをPR上のstatus checkとして報告します。PRは通常、レビューが承認され、必須のチェックが緑になったときにのみmergeできます。
CI/CDゲートとしてのpull request
pull requestは、コードがmainに到達する前に品質が強制されるチョークポイントです。branch protectionルールは、通過したチェック、承認、最新のbranchを要求できます。PRのmergeこそが下流のdeployment pipelineをトリガーし、PRを提案済みと出荷済みの境界にします。
健全なpull requestの習慣
- PRを小さく保ち、レビューを素早く徹底的にする。
- 何がなぜ変わったかを明快に説明する。
- mergeの前に緑のCIチェックを必須にする。
- レビューのフィードバックに迅速に応え、branchが古びるのを避ける。
重要なポイント
- pull requestは、レビューとチェックを伴ってあるbranchを別のbranchへmergeすることを提案します。
- CIはPR上にstatus checkを報告し、それがmergeできるかどうかをゲートします。
- PRのmergeは、deployment pipelineをトリガーする境界です。
関連ガイド
What Is a Git Branch?What is a Git branch? Learn how branches are lightweight movable pointers, how they enable parallel work, and…
What Is a Required Status Check?What is a required status check? Learn how marking a CI check as required blocks merges until it passes, maki…
What Is a Protected Branch?What is a protected branch? An explainer on rules that guard important branches like main, requiring reviews…