みなさんはGitHubのプルリクエストの機能を使ったことはありますか? Web制作の場でもGitHubが使われることが多くなったと思いますが、ソースの履歴管理機能のみを使用している方も多いのではないでしょうか? 今回はGitHubのプルリクエストについて紹介します。普段からプルリクエストを使っている方でも役立つプラスアルファのTipsをまとめていますので、最後までお付き合いください。

プルリクエストとは?

プルリクエストとは、コードの変更をレビュワーに通知し、マージを依頼する機能です。コードのレビューを受けることで、1人で作ると気がつかないコードの指摘やバグや記述ミスの発見ができ、コードの品質を高めます。レビュワーにとっても、他人が書いたコードを読むことで新しい書き方を発見できるというメリットがあります。コードから発展してプロジェクトに関する有意義な議論の場になることもあるでしょう。

プルリクエストを導入した際の流れは次のとおりです。「1. GitHubにブランチをプッシュする」より先の項目は全てGitHub上で完結でき、難しい操作は必要ありません。

  1. 開発者がGitHubにブランチをプッシュする
  2. 開発者がブランチからプルリクエストを作成する
  3. レビュワーがコードをレビューする
  4. ブランチをマージする

161222_github_pullrequest

プルリクエストを送ってみよう

今回は、自分が所属するチームのリポジトリにプルリクエストを送る手順を解説します。親となるブランチに、親ブランチから分岐してできた子ブランチをマージする手順を追ってみましょう。

161222_github_commit

リポジトリトップからプルリクエストを作成を開始する

まずは、リポジトリのトップ画面で[New Pull Request]ボタンを押して、プルリクエストの作成を開始します。

161222_github_repository

親ブランチと子ブランチ名を選択する

ブランチ名が書かれたコンボボックスから、ブランチを選びます。左側のブランチに親ブランチ、右側に子ブランチを選択します。

161222_github_pullrequest_start

プルリクエストの内容を確認する

コンボボックスでブランチを選択すると、コミット履歴とソースコードの差分が表示されます。選択したブランチに間違いがなければ[Create pull request]ボタンを押して、プルリクエストの詳細を作成する画面へ移動します。

161222_github_pullrequest_start2

プルリクエストの詳細を決める

最後に[Create pull request]ボタンを押し、プルリクエストの作成を完了します。この画面では、プルリクエストのタイトルと詳細について設定できます。プルリクエストのフォーマットはチーム内で決めるものですが、次の項目を意識するとレビューの観点が明らかになり、後ほどトラブルがあった場合も見直しやすくなります

タイトル
  • 簡潔なタイトルで内容がすぐわかること
詳細
  • プルリクエストを送るに至った経緯
  • マージすることで期待できる結果
  • このプルリクエストでは行わないこと – 対応しない項目に関しての指摘が入らないようにするため
  • マージ後のリスク – 修正箇所の影響範囲などを記入することで、デバッグ項目の漏れなどを減らす
  • 関連するIssueやURL

161222_github_pullrequest_start3

その他の設定項目
  • Reviewers – レビューする人を設定します
  • Assignees – プルリクエストの内容を対応した人・対応する人を設定します
  • Labels – [bug(バグ)][question(質問)][enhancement(機能の実装)]等から選択します
  • Milestone – マイルストーンを選択します([Issues]画面の[milestone]ボタンから作成可能)

次のページでは、プルリクエストのレビューの仕方について紹介します。