見る場所を固定する
GitHub の PR には、だいたい次があります。全部を一度に理解しなくて大丈夫です。役割だけ先に固定します。
- Conversation: 議論、要約、自動コメント
- Commits: 保存ポイントの並び
- Files changed: 実際の差分(最重要)
- Checks / Actions: テストやビルドなどの自動確認
- Deployments(あれば): プレビューや本番反映の状態。スマホの PR レビュー画面にも表示されます
Files changed の読み方
緑色は追加、赤色は削除、という見た目が多いです。文章や設定なら、そのままでも読めます。プログラムでも、『ファイル名』と『変更の量』だけでも異常検知はできます。
『このファイルを変えた理由を説明して』と Agent や作者に聞くのは、正規のレビュー行為です。
Checks が落ちたら
Checks は自動の門番です。赤だからといって、あなたが悪いとは限りません。環境の問題や、もともと脆いテストの場合もあります。
取りうる行動は、『ログを Agent に読ませて修正させる』『詳しい人に共有する』『本番影響のない実験なら一旦止める』です。赤のまま強引にマージできる設定でも、慣れるまでは控えてください。
- Agent 作成 PR(Teams): 自動で直しにいくことがあります。止まっていたら `@cursor CI を直して`
- スマホ: 失敗した Check から『Fix with Agent』
- 自分や同僚の PR: `@cursor この CI を直して`(誰の変更かを確認してから)
- 一時的な失敗でコード修正が不要なとき: GitHub の PR 画面から Checks / Actions を再実行(Cursor GitHub アプリは PR から CI 再実行を扱う権限も持ちます)
- 調査だけ先に: アプリや Web から新しい Agent を起動し、『PR #123 の失敗 CI を調査。まだ直さない』と頼む(公式の入門例。Fix with Agent とは別の入口)
どの Check が何を見ているか
Checks の名前だけでは、何を保証しているか分かりにくいことがあります。型チェック、テスト、プレビューデプロイ、セキュリティ検査など、チームごとに意味が違います。
GitHub では Bugbot の実行が `Cursor Bugbot` という Check になります(Bitbucket は `cursor-bugbot`、Azure DevOps は `cursor-bugbot/review`)。指摘があるときの既定の結論は失敗ではなく中立(neutral)です。ブランチ保護でこの Check を必須にしても、『Bugbot が走ったこと』は保証しますが、指摘そのものではマージを止めません。未解決の指摘を失敗扱いにする設定は、組織によっては別です(公式 Bugbot)。
Bugbot Autofix がオンだと、`Cursor Bugbot Autofix` という別の Check も出ることがあります。こちらは CI が赤のときの `@cursor autofix` とは別です。
Deployments タブがあれば、プレビュー URL や反映状態もここで確認できます。分からなければ、『この赤い Check は何を見ていますか?』と詳しい人に聞くのも立派なレビューです。
マージボタンの選択肢
GitHub では、Checks が通ったあとに Merge の横で Squash and merge などが選べることがあります。Squash は、Agent が何度も保存ポイント(コミット)を付けても、本線へ入るときは1つにまとめる方式です。
チームごとに『Squash 必須』『Merge commit 禁止』などのルールがあることが多いです。分からなければ、マージ前に詳しい人へ確認するか、review-and-merge レッスンの Squash 節を見返してください。
Merge がグレー表示のときは、Checks の色より先に review-and-merge 冒頭のマージブロック図(6原因)を確認してください。behind・コンフリクト・承認・保護・権限のどれかで止まっていることが多いです。
『マージできるまで Agent に任せたい』ときは、GitHub の auto-merge(自動反映)・Agent の Subscriptions(イベント待ち再開)・`@cursor autofix`(CI 自動修正)の3道具の使い分けと、review-and-merge のマージまで任せるレシピ節で組み合わせ方を整理しています。
本線より遅れている(behind)とき
PR を開いているあいだに本線(main)へ別の変更が入ると、『This branch is behind』『本線より遅れています』のような表示が出ることがあります。あなたの変更が悪いわけではなく、取り込み順の問題です。
GitHub の PR 画面や Cursor for iOS のレビュー画面では、Update branch(ブランチ更新)で本線の最新を取り込めます。取り込み後に Checks が再実行されることもあるので、赤が出たら上の3択図どおりに進めてください。
コンフリクト(同じ箇所を両方が触っている)と表示されたら、自分で直すより Agent に『main の最新を取り込んでコンフリクトを解消して』と頼む方が安全なことが多いです。
下書き(Draft)の PR は Ready for review(Ready 化)が必要なことが多く、スマホアプリからも Ready 化・公開(Publish)・Close ができます。Automations の Draft / Ready トリガーと混同しないよう、人が見るタイミングと自動化のタイミングを分けて考えましょう。
理解チェック
- PR で最初に Files changed を見る理由を言える
- Checks 失敗時の行動を2つ以上挙げられる
- CI 修正を `@cursor` や Fix with Agent に頼めると説明できる
- CI が赤いとき、再実行・調査だけ・修正依頼の3択を選べる
- Deployments タブでプレビューや反映状態を確認できると知っている
- Cursor Bugbot の Check は指摘があっても既定では中立だと知っている
- Squash merge が履歴を1つにまとめる反映方式だと説明できる
- behind 表示のとき Update branch で本線を取り込めると知っている
- コンフリクト表示のとき Agent に解消を依頼できると知っている
- Update branch 後に Checks が再実行されて赤くなることがあると知っている
- auto-merge / Subscriptions / autofix の3道具とマージまで任せるレシピが review-and-merge にあると知っている
開いただけでは「済」になりません。チェックできたら押してください。
実践
PR を1つ選び、Conversation で要約、Files changed で意図せぬ変更、behind 表示なら Update branch、コンフリクトなら Agent に解消依頼、Checks で赤があれば『再実行 / 調査だけ / 修正依頼』のどれかを決めてから動く、Deployments があればプレビュー状態もメモ、マージまで任せたいなら review-and-merge のレシピ節も読む、の順に試してみましょう。
このレッスンで出てくる用語
全部覚える必要はありません。気になる言葉だけ開いてみてください。
- behindPull Request のブランチが本線(main)より古い状態です。『本線より遅れています』と出たら、先に Update branch で取り込みます
- Update branchPR のブランチに本線の最新変更を取り込む操作です。GitHub や Cursor for iOS のレビュー画面から実行できます
- Fix with Agent失敗した Check やレビュー指摘から、同じ PR を Agent に直してもらう入口です。スマホの PR レビュー画面にもあります
- コンフリクト本線と PR の両方が同じ箇所を変えていて、自動では取り込めない状態です。Agent に解消を頼むのが安全なことが多いです
いま身についている開発者スキル
PR レビュー実務 / CI の読み方