プルリクエストをマージする
作業が完了したら、プルリクエストを上流ブランチにマージします。 リポジトリに対してプッシュアクセスを持つユーザなら誰でもマージを実行できます。
プルリクエストでマージコンフリクトが発生する場合、またはマージの前に変更をテストしたい場合は、コマンドラインを使用して、プルリクエストをローカルでチェックアウトしてマージすることができます。
トピックブランチでの変更を上流ブランチにマージしたくなければ、マージせずにプルリクエストをクローズすることができます。
必須のレビュー
リポジトリの管理者は、プルリクエストが保護されたブランチにマージされる前に、書き込みあるいは管理権限をそのリポジトリに持っている人々か、指定されたコードオーナーから指定された数の承認レビューを受けることを要求できます。詳細は「保護されたブランチについて」を参照してください。
必須レビューが有効化されると、リポジトリへの書き込み権限を持っている人なら誰でも、プルリクエスト中の変更を承認できます。ただし、そのリポジトリの書き込みあるいは管理権限を持っている必要な数のレビューアがレビューでプルリクエストの変更を承認しないかぎり、プルリクエストはマージできません。リポジトリの権限レベルに関する詳しい情報については「Organizationのリポジトリ権限レベル」を参照してください。指定されたコードオーナーからのレビューが必要で、プルリクエストが指定されたオーナーを持つコードに影響するなら、そのオーナーからの承認が必須です。
レビューされた後にプルリクエストが変更されており、変更をリクエストした人が承認レビューを行えない場合は、リポジトリの管理者あるいは書き込み権限を持っている人がレビューを却下できます。 詳細は「プルリクエストレビューを却下する」を参照してください。
すべての必須のレビューアがプルリクエストを承認した後でも、他にペンディングあるいは拒否されたレビューを持つオープンなプルリクエストがあり、それらのプルリクエストが同じコミットのheadブランチを指している場合は、そのプルリクエストはマージできません。マージするには、書き込みあるいは管理権限を持つ誰かが他のプルリクエストのブロックしているレビューを承認あるいは却下しなければなりません。
GitHub Enterpriseでプルリクエストをマージする
-
リポジトリ名の下で [Pull requests] をクリックします。
-
[Pull Requests] リストで、マージしたいプルリクエストをクリックします。
-
リポジトリで有効なマージオプションに応じて、以下の操作が可能です:
- [Merge pull request] をクリックして、すべてのコミットをベース ブランチにマージします。 [Merge pull request] オプションが表示されない場合は、マージのドロップダウン メニューをクリックして [Create a merge commit] をクリックします。
- 複数のコミットを 1 つのコミットに squash するには、マージのドロップダウン メニューをクリックして [Squash and merge] を選択し、[Squash and merge] ボタンをクリックします。
- コミットを個々にベース ブランチにリベースするには、マージのドロップダウンをクリックして [Rebase and merge] を選択し、[Rebase and merge] ボタンをクリックします。
メモ: リベースおよびコミットを行うと、常にコミッターの情報が更新され、新しいコミット SHA が作成されます。 詳細は「プルリクエストのマージについて」を参照してください。
-
要求されたら、コミットメッセージを入力するか、デフォルトのメッセージのままにします。
-
[Confirm merge]、[Confirm squash and merge] をクリックするか、[Confirm rebase and merge] をクリックします。
-
また、代わりにブランチを削除することもできます。 こうすることで、リポジトリにあるブランチのリストが整理された状態を保てます。
プルリクエストは --no-ff
オプションを使用してマージされますが、squash またはリベースされたコミットは例外で、fast-forward オプションを使用してマージされます。
プルリクエストあるいはコミットメッセージ中でキーワードを使って対応する Issue をクローズできます。詳細は「キーワードを使って Issue をクローズする」を参照してください。