Skip to content
Latchkey

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をトリガーする境界です。

関連ガイド