プルリクエストのマージについて
プルリクエストでは、head ブランチに加えた変更をベースブランチにマージすることを提案します。 デフォルトでは、head ブランチがベースブランチとコンフリクトしていない限り、どのプルリクエストもいつでもマージできます。 However, there may be restrictions on when you can merge a pull request into a specific branch. たとえば、必須のステータスチェックに合格した場合にのみ、プルリクエストをデフォルトブランチにマージできます。 詳しい情報については保護されたブランチについてを参照してください。
プルリクエストでマージコンフリクトが発生する場合、またはマージの前に変更をテストしたい場合は、コマンドラインを使用して、プルリクエストをローカルでチェックアウトしてマージすることができます。
ドラフトのプルリクエストをマージすることはできません。 ドラフトのプルリクエストに関する詳しい情報については「プルリクエストについて」を参照してください。
プルリクエストがリポジトリにマージされた後、head ブランチを自動的に削除することができます。 詳しい情報については「ブランチの自動削除の管理」を参照してください。
トピックブランチでの変更を上流ブランチにマージしたくなければ、マージせずにプルリクエストをクローズすることができます。
GitHub でプルリクエストをマージする
-
リポジトリ名の下にある 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 が作成されます。 詳細は「プルリクエストのマージについて」を参照してください。
-
要求されたら、コミットメッセージを入力するか、デフォルトのメッセージのままにします。
squashマージのデフォルトのコミットメッセージに関する情報については「プルリクエストのマージについて」を参照してください。
注釈: メールセレクタは、マージコミットを作成しないリベースマージ、またはプルリクエストを作成したユーザを squash コミットの作者としてクレジットする squash マージには使用できません。
- [Confirm merge]、[Confirm squash and merge] をクリックするか、[Confirm rebase and merge] をクリックします。
- また、代わりにブランチを削除することもできます。 こうすることで、リポジトリにあるブランチのリストが整理された状態を保てます。
プルリクエストをマージするとプルリクエストの head ブランチが自動的に削除されるようにリポジトリを設定できます。 詳しい情報については「ブランチの自動削除の管理」を参照してください。
プルリクエストは --no-ff
オプションを使用してマージされますが、squash またはリベースされたコミットは例外で、fast-forward オプションを使用してマージされます。
You can link a pull request to an issue to automatically close the issue when someone merges the pull request. 詳しい情報については「プルリクエストのIssueへのリンク」を参照してください。