マージ(orプル)リクエスト
- 自分の修正を本家にマージするよう依頼すること
- マージ元ブランチをマージ先ブランチを指定して依頼することで修正内容が「差分」として見える化される
- GitHubでは「プルリクスト」、GitLabでは「マージリクエスト」と呼ぶ
- 実際にマージする前に差分をレビューできる
ソースの差分の任意箇所にレビューアがコメントを付けられる
GitHubの発明「プルリクエスト」
- GitHubのリポジトリは公開が基本
- 他人のリポジトリを自分のところに派生させられる(フォークと呼ぶ)
- 自分の修正を本家に採用するよう依頼できる
→ これがプルリクエスト
OSSとの親和性が高く多くのOSSがGitHubにホスティング先を移行することとなった。
「プル」の意味するところ
- 本家を主体に考える
- 他人の修正を本家が「引っ張って」くるイメージ
- 業務プロジェクトでは「マージリクエスト」がしっくりくると思う
業務プロジェクトでの有用性
- ソースコードレビューの機会を明確に作れる
- マージ作業の履歴が残る
マージ(orプル)リクエストの活用
- ものすごく大変だが、ちゃんと目を通す!
プログラムへの理解が深まる
→ この恩恵は大きい - 差し戻しを恐れない&差し戻し前提にスケジュールを組む
レビューの負荷を減らすには
- スタイルに関する指摘は無駄な時間
・Formatterで自動整形
・Linterにルール違反を指摘させる - マージリクエスト前にFormatter/Linterを適用するのをルール化する
- Formatterはプッシュ時に自動でかけることが出来る・・・かも
(稀にFormatterがロジックを変えてしまうので個人的には怖い)
最後に
- プルリクエストは発明!
- マージ(orプル)リクエストをうまく使って品質を高めたい