プルリクエストのマージについて
プルリクエストでは、head ブランチに加えた変更をベースブランチにマージすることを提案します。 デフォルトでは、head ブランチがベースブランチとコンフリクトしていない限り、どのプルリクエストもいつでもマージできます。ただし、プルリクエストを特定のブランチにマージできるタイミングには制限がある場合があります。 For example, you may only be able to merge a pull request into the default branch if required status checks are passing. 詳しい情報については保護されたブランチについてを参照してください。
プルリクエストでマージコンフリクトが発生する場合、またはマージの前に変更をテストしたい場合は、コマンドラインを使用して、プルリクエストをローカルでチェックアウトしてマージすることができます。
You can't merge a draft pull request. ドラフトのプルリクエストに関する詳しい情報については「プルリクエストについて」を参照してください。
プルリクエストがリポジトリにマージされた後、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マージのデフォルトのコミットメッセージに関する情報については「プルリクエストのマージについて」を参照してください。
Note: The email selector is not available for rebase merges, which do not create a merge commit, or for squash merges, which credit the user who created the pull request as the author of the squashed commit.
- [Confirm merge]、[Confirm squash and merge] をクリックするか、[Confirm rebase and merge] をクリックします。
- また、代わりにブランチを削除することもできます。 こうすることで、リポジトリにあるブランチのリストが整理された状態を保てます。
The repository may be configured so that the head branch for a pull request is automatically deleted when you merge a pull request. 詳しい情報については「ブランチの自動削除の管理」を参照してください。
プルリクエストは --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へのリンク」を参照してください。