よいプルリクエスト(PR)とは、レビューする人が「何を・なぜ・どう確認すればいいか」を、コードを読む前に理解できるPRです。説明文が空のPRや、数千行の変更が1つにまとまったPRは、レビューに時間がかかり、見落としも増えます。

PRのテンプレートを紹介する記事は多くありますが、この記事では、テンプレートに加えて、直す前と後の説明文の例、PRの大きさの目安と分け方、出す前のセルフレビュー、そしてAIで書いたコードを含むPRの出し方まで解説します。

プルリクエストの早見表

項目 ポイント
タイトル 何が変わるかが一目でわかる。チケット番号も入れる
説明文 目的・変更内容・確認方法・影響範囲・レビューしてほしい点
大きさ 目安は1つの目的、数百行まで。大きい場合は分ける
出す前に 自分で差分を読み直す(セルフレビュー)
画面の変更 変更前と変更後のスクリーンショットを付ける
途中で意見がほしい ドラフトPRで出す
AIで書いたコード 自分で理解し、確認した範囲を書く

本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。

(記載例)出典:株式会社RJC「プルリクエストの書き方|レビューされやすい説明文とテンプレート」

タイトルの付け方

直す前 直した後
修正 fix: ログイン後に元のページへ戻らない問題を修正 (#456)
機能追加 feat: 注文一覧のCSVダウンロードを追加 (#123)
対応しました refactor: 注文の金額計算をOrderPriceCalculatorに切り出し

一覧で見たときに、PRを開かなくても何の変更かがわかるタイトルにします。コミットメッセージと同じプレフィックス(feat:・fix:・refactor: など)を付けると、チームで揃えやすくなります。

説明文に書く5つの項目

項目 書くこと
1. 目的・背景 なぜこの変更が必要か。関連するチケットへのリンク
2. 変更内容 何を変えたか。主な変更点を箇条書きで
3. 確認方法 どう動作を確認したか。レビューする人が試す手順
4. 影響範囲 影響する機能、DBの変更、設定の変更、リリース時の注意点
5. レビューしてほしい点 特に見てほしい箇所、迷った箇所、対象外のこと

最も大切なのは 1. 目的・背景 です。コードを読めば「何を変えたか」はわかりますが、「なぜそう変えたのか」はコードには書かれていません。ここがあると、レビューする人は「この目的に対して、この変更で十分か」という視点で見られます。

説明文:直す前と後

直す前

CSV出力を追加しました。確認お願いします。

直した後

## 目的
経理チームから、注文一覧を毎月Excelで集計したいという要望があり、
画面の検索結果をCSVでダウンロードできるようにします。(#123)

## 変更内容
- 注文一覧画面に「CSVダウンロード」ボタンを追加
- `GET /api/orders/export` を追加(検索条件は一覧画面と同じ)
- 件数が多い場合に備え、1万件ごとに分けて読み込むように実装

## 確認方法
1. 注文一覧で期間を指定して検索
2. 「CSVダウンロード」を押す
3. Excelで開き、文字化けがなく、検索結果と件数が一致することを確認
- 単体テスト:`OrderCsvExporterTest` を追加(空・1件・1万1件のケース)

## 影響範囲
- 既存の画面・APIの動作に変更はありません
- DBの変更はありません

## レビューしてほしい点
- CSVの文字コードをBOM付きUTF-8にしています(Excelでの文字化け対策)。
  Shift_JISにすべきか、ご意見をいただけると助かります
- 権限のチェックは既存の一覧APIと同じ仕組みを使っています

## 対象外
- 帳票(PDF)の出力は別のPRで対応します(#130)

直した後の説明文なら、レビューする人は目的を理解したうえで、確認の手順どおりに試し、迷った点について意見を返すことができます。

そのまま使えるテンプレート

リポジトリに .github/pull_request_template.md を置くと、GitHubでPRを作るときに自動で入力されます。

## 目的
<!-- なぜこの変更が必要か。関連するチケット:#番号 -->

## 変更内容
-

## 確認方法
<!-- 動作確認の手順、追加・変更したテスト -->
1.

## 影響範囲
<!-- 影響する機能、DB・設定の変更、リリース時の注意点。なければ「なし」 -->

## スクリーンショット
<!-- 画面の変更がある場合:変更前 / 変更後 -->

## レビューしてほしい点
<!-- 特に見てほしい箇所、迷った箇所 -->

## チェックリスト
- [ ] セルフレビューをした
- [ ] テストを追加・更新し、CIが通っている
- [ ] 不要なログ出力やコメントアウトしたコードを消した
- [ ] 秘密の情報(パスワード、APIキーなど)が含まれていない
- [ ] AIで生成したコードは、内容を理解し、動作を確認した

GitLabでは .gitlab/merge_request_templates/ にファイルを置くと、同じように使えます。

PRの大きさの目安と分け方

PRは小さいほど、早く、正確にレビューされます。GoogleのコードレビューのガイドでもPR(変更)を小さく保つことが勧められており、数百行を超えると、レビューの質が落ちやすくなります。

分け方 例
層で分ける ①DBの変更 → ②API → ③画面
準備と本体で分ける ①リファクタリング(動作は変えない) → ②機能の追加
機能を段階に分ける ①一覧だけ → ②検索 → ③CSV出力
自動生成・整形を分ける フォーマッターの適用やファイルの移動は、別のPRにする

「リファクタリング」と「機能の追加」を1つのPRに混ぜないのが、特に効果の大きいルールです。動作を変えない変更と、動作を変える変更が混ざると、レビューする人がどこを注意して見ればいいかわからなくなります。

出す前のセルフレビュー

PRを作ったら、レビューを依頼する前に、自分で差分を1回読み直します。

チェック項目
目的と関係のない変更(整形、デバッグ用のコード)が混ざっていないか
変数名・関数名は、意味がわかる名前になっているか
エラーの場合の処理が書かれているか
テストがあり、CIが通っているか
コメントアウトしたコードや、TODOが残っていないか
秘密の情報が含まれていないか

自分で読み直すだけで、レビューで指摘される内容の多くを事前に直せます。レビューする人の時間を、本当に議論が必要な点に使ってもらうための準備です。

スクリーンショットと動画

画面の変更があるPRでは、変更前と変更後のスクリーンショットを並べて付けます。

変更前 変更後
(画像) (画像)

操作の流れが大切な変更(入力して保存する、など)は、短い動画やGIFにすると、レビューする人がアプリを起動しなくても確認できます。

ドラフトPRを活用する

場面 ドラフトPRの使い方
設計の方向性を早めに相談したい 実装の途中でドラフトPRを出し、「この方針で進めてよいか」を聞く
CIの結果を確認しながら進めたい ドラフトのままCIを回す
作業中であることを示したい レビューの依頼は、完成してから「Ready for review」に切り替える

大きく作り込んでから方向性の違いに気づくより、早めにドラフトで相談する方が、手戻りが小さく済みます。

AIで書いたコードを含むPR

AIのコーディング支援を使うと、短時間で大量のコードができます。PRを出すときは、次の点に気をつけます。

  • 自分で理解したコードだけを出す:「AIが書いたので、よくわかりません」という状態のコードは、レビューする人に負担を押し付けることになります
  • 確認した範囲を書く:「テストケースはAIで作成し、観点と期待値は自分で確認した」のように、何をどこまで確認したかを書く
  • 小さく分ける:AIは一度にたくさん書けるため、PRが大きくなりがちです。目的ごとに分けて出す
  • AIに説明文の下書きを作らせるのもあり:差分からPRの説明文の下書きを作らせ、目的や背景は自分で書き足す

レビューコメントへの返し方

場面 返し方の例
指摘どおりに直した 「修正しました(コミット abc1234)」
意図があってこのままにしたい 「〇〇の理由でこの形にしています。ご意見いただけますか?」
別のPRで対応したい 「別のPRで対応します(#140 を作成しました)」
指摘の意味がわからない 「〇〇という理解で合っていますか?」と確認する

コメントには、直したのか、直さないのか、なぜかが伝わるように返します。すべてのコメントに返事をすると、レビューする人が確認しやすくなります。

よくある質問

Q. 説明文を書く時間がもったいないと感じます。 A. 説明文があるとレビューが早く終わり、質問のやり取りも減るため、結果的にマージまでの時間は短くなることが多いです。テンプレートを使えば、書く時間も数分で済みます。

Q. レビューする人が見つからない、なかなか見てもらえません。 A. PRを小さくする、説明文で「どこを見てほしいか」を明確にする、の2つが効果的です。チームで「PRは1営業日以内に一度は見る」などのルールを決めておくのもおすすめです。

Q. マージの方法(マージコミット・スカッシュ・リベース)はどれがいいですか? A. チームで1つに揃えることが大切です。1つのPRを1つのコミットにまとめたいならスカッシュがよく使われます。

まとめ

  • よいPRは、何を・なぜ・どう確認すればいいかがコードを読む前にわかる
  • 説明文は 目的・変更内容・確認方法・影響範囲・レビューしてほしい点 の5つ
  • 最も大切なのは 「なぜ」(目的・背景)
  • PRは小さく。リファクタリングと機能の追加は分ける
  • 出す前にセルフレビュー、画面の変更には変更前後のスクリーンショット
  • AIで書いたコードは、理解して確認した範囲を書いて出す

本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。

(記載例)出典:株式会社RJC「プルリクエストの書き方|レビューされやすい説明文とテンプレート」

株式会社RJCでは、チームで気持ちよく開発するための工夫を、実際のプロジェクトの中で仲間と磨いています。こうした知識を共有しながら、日々学び合っています。

株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。

WE ARE HIRING

RJCで一緒に開発しながら、
成長を楽しみませんか?

RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!

  • 127日年間休日
  • 12時間平均残業時間
  • 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!

ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。

ABOUT RJC RJCがどんな会社か知る 考え方、研修、働き方、福利厚生、社員の前職まで。RJCのことが丸わかり! RJC丸わかりページへ JOB DESCRIPTION 仕事内容・待遇を見てみる 仕事内容、給与・待遇、選考の流れ。経験者も未経験も!応募前に知りたいこと、まとめました! 募集要項を見る ENTRY エントリーする エントリーは1〜2分・履歴書不要です。まずは話を聞いてみたい、という方でも歓迎です! エントリーフォームへ

RJCで一緒に開発しながら、 成長を楽しみませんか?