第5章 プルリクエストとレビュー

ページ 5 / 5

01/ 05Git・GitHub

プルリクエストとレビュー

提案書で合流を頼み、ドラフトで途中経過を見せる。通った変更だけが main へ

読了目安 約 3入門
読みはじめる
この記事の要約

プルリクエスト(PR)は「この枝を main に合流させてください」という提案書です。5SLAB では作業を始めた時点でドラフト(下書き)の PR を開き、途中経過を見せながら進めます。

  • 差分・経緯・議論が 1 か所に記録される
  • ドラフトのうちは間違ってもマージされない
  • レビューを通った提案だけが合流できる

なぜ「提案」の形を挟むのか

枝の変更をいきなり合流させず、提案書にして人の目を通す ── この一拍が品質の要です。差分が一覧になり、コメントで会話でき、経緯がそのまま記録に残ります。メールにファイルを添付して回覧するレビュー文化の完成形、と考えると分かりやすいです。

状態やイベント名をクリックすると、その内容の説明がここに表示されます。

この図をテキストで読む

状態遷移図「プルリクエストの一生」。5状態・5遷移。 【状態】(★ = 焦点) 1. Draft(下書きで公開中)〔開始〕 2. ★ Open(レビュー受付中) 3. Approved(承認済み) 4. Merged(main へ合流済み)〔終了〕 5. Closed(合流せず終了)〔終了〕 【遷移】(A —[イベント [条件] / 動作]→ B) - Draft —[レビュー依頼]→ Open - Open —[承認]→ Approved - Approved —[マージ [検査が緑]]→ Merged - Approved —[追加の push / 承認は仕切り直し]→ Open - Open —[取り下げ]→ Closed 開始: Draft から始まる。 終了: Merged / Closed で終わる。 注記: 作業中(Draft / Open)の push は提案の差分を自動で最新にします 【流れ】 - 承認されて合流: Draft →[レビュー依頼]→ Open →[承認]→ Approved →[マージ]→ Merged - 見送りで閉じる: Draft →[レビュー依頼]→ Open →[取り下げ]→ Closed

PR は状態を進めながら合流へ向かう提案書です。

ドラフト PR で「作業中」を見せる

5SLAB では、枝で作業を始めて最初の保存をしたら、すぐにドラフトの PR を開きます。ドラフトのうちはマージのボタンが締まっているので、作りかけが誤って合流する心配がありません。それでいて作業中の差分は push のたびに最新で共有されるので、チームは互いの進み具合をいつでも覗けます。

目的
途中経過の共有
作業中の見せる化
合流の正式な依頼
レビューを求める
マージ
できない
ボタンが締まっている
承認+検査が緑ならできる
レビュー
まだ求めない
眺めるのは自由
依頼中
レビュアーに通知が届く
切り替え
Ready for review で Open へ
Draft へ戻すこともできる
仕上げ直したいとき

各セルをクリックすると、その意味や詳しい説明がここに表示されます。

この図をテキストで読む

比較表「Draft と Open の使い分け」。2列 × 4行。 【列】 1. Draft(下書き)(作業中の共有) 2. Open(受付中)(正式なレビュー依頼) 【比較】(観点ごとに) ■ 目的 - Draft(下書き): 途中経過の共有 / 作業中の見せる化 - Open(受付中): 合流の正式な依頼 / レビューを求める ■ マージ - Draft(下書き): できない / ボタンが締まっている - Open(受付中): 承認+検査が緑ならできる ■ レビュー - Draft(下書き): まだ求めない / 眺めるのは自由 - Open(受付中): 依頼中 / レビュアーに通知が届く ■ 切り替え - Draft(下書き): Ready for review で Open へ - Open(受付中): Draft へ戻すこともできる / 仕上げ直したいとき 【観点】 - Draft で見る: Draft(下書き) - Open で見る: Open(受付中)

Draft で見せながら作り、Open で正式に頼む。

レビューは人と生成AIの二人三脚

5SLAB ではマージの前に、生成AIが枝の差分全体を点検するレビューを走らせ、重大な指摘が残る間は合流させません。人は提案の意図や業務の正しさに集中し、細かい見落としは機械が拾う分担です。レビュー済みの印は記録され、合流時に照合されます。

押さえておきたい用語

プルリクエスト(PR)
枝の変更を main に合流させるための提案書。#42 のように番号で呼ばれます。
ドラフト PR
「まだ作業中」の印が付いた PR。差分は共有されますが、マージはできません。
Approve(承認)
レビューで「合流してよい」と認める操作。5SLAB では合流の必須条件です。
squash マージ
枝で積んだコミットを 1 つにまとめて合流させる方式。main の履歴が読みやすく保てます。
Close(取り下げ)
合流せずに提案を閉じること。議論の記録は残るので無駄になりません。
ページ 5 / 5