プルリクエストをマージする
作業が完了したら、プルリクエストを上流ブランチにマージします。 リポジトリに対してプッシュアクセスを持つユーザなら誰でもマージを実行できます。
ここには以下の内容があります:
プルリクエストのマージについて
プルリクエストでマージコンフリクトが発生する場合、またはマージの前に変更をテストしたい場合は、コマンドラインを使用して、プルリクエストをローカルでチェックアウトしてマージすることができます。
トピックブランチでの変更を上流ブランチにマージしたくなければ、マージせずにプルリクエストをクローズすることができます。
必須のレビュー
リポジトリ管理者は、保護されたブランチにマージされる前に、すべてのプルリクエストがリポジトリに書き込みあるいは管理権限を持つ人々から、あるいは指定されたコードオーナーから指定した数の承認レビューを受けなければならないようにすることができます。 詳しい情報については保護されたブランチについてを参照してください。
必須レビューが有効化されると、リポジトリへのアクセス権を持つ人は誰でもプルリクエスト中の変更を承認できます。 ただし、リポジトリに書き込みもしくは管理権限を持つ必要な数のレビュー担当者がプルリクエストの変更をレビューで承認するまでは、プルリクエストはマージできません。 リポジトリの権限レベルに関する詳しい情報については「Organizationのリポジトリの権限レベル」を参照してください。指定されたコードオーナーからのレビューが必須で、プルリクエストが指定されたオーナーのコードに影響するものなら、そのオーナーからの承認が必要です。
レビューされた後にプルリクエストが変更されており、変更をリクエストした人が承認レビューを行えない場合は、リポジトリの管理者あるいは書き込み権限を持っている人がレビューを却下できます。 詳細は「プルリクエストレビューを却下する」を参照してください。
すべての必須のレビューアがプルリクエストを承認した後でも、他にペンディングあるいは拒否されたレビューを持つオープンなプルリクエストがあり、それらのプルリクエストが同じコミットのheadブランチを指している場合は、そのプルリクエストはマージできません。マージするには、書き込みあるいは管理権限を持つ誰かが他のプルリクエストのブロックしているレビューを承認あるいは却下しなければなりません。
GitHub でプルリクエストをマージする
-
リポジトリ名の下で [Pull requests] をクリックします。
-
[Pull Requests] リストで、マージしたいプルリクエストをクリックします。
-
リポジトリで有効なマージオプションに応じて、以下の操作が可能です:
- [Merge pull request] をクリックして、すべてのコミットをベース ブランチにマージします。 If the Merge pull request option is not shown, then click the merge drop down menu and select Create a merge commit.
- Squash the commits into one commit by clicking the merge drop down menu, selecting Squash and merge and then clicking the Squash and merge button.
- Rebase the commits individually onto the base branch by clicking the merge drop down menu, selecting Rebase and merge and then clicking the Rebase and merge button.
メモ: リベースおよびコミットを行うと、常にコミッターの情報が更新され、新しいコミット SHA が作成されます。 詳細は「プルリクエストのマージについて」を参照してください。
-
If prompted, type a commit message, or accept the default message.
-
Click Confirm merge, Confirm squash and merge, or Confirm rebase and merge.
-
また、代わりにブランチを削除することもできます。 こうすることで、リポジトリにあるブランチのリストが整理された状態を保てます。
プルリクエストは --no-ff
オプションを使用してマージされますが、squash またはリベースされたコミットは例外で、fast-forward オプションを使用してマージされます。
プルリクエストあるいはコミットメッセージ中でキーワードを使って対応する Issue をクローズできます。詳細は「キーワードを使って Issue をクローズする」を参照してください。