プルリクエストのマージについて
プルリクエストでは、head ブランチに加えた変更をベースブランチにマージすることを提案します。 デフォルトでは、head ブランチがベースブランチとコンフリクトしていない限り、どのプルリクエストもいつでもマージできます。ただし、プルリクエストを特定のブランチにマージできるタイミングには制限がある場合があります。 たとえば、必須のステータスチェックに合格している場合にのみ、プルリクエストを master
にマージできます。 詳しい情報については保護されたブランチについてを参照してください。
プルリクエストでマージコンフリクトが発生する場合、またはマージの前に変更をテストしたい場合は、コマンドラインを使用して、プルリクエストをローカルでチェックアウトしてマージすることができます。
You can't merge a draft pull request. ドラフトのプルリクエストに関する詳しい情報については「プルリクエストについて」を参照してください。
トピックブランチでの変更を上流ブランチにマージしたくなければ、マージせずにプルリクエストをクローズすることができます。
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マージのデフォルトのコミットメッセージに関する情報については「プルリクエストのマージについて」を参照してください。
- [Confirm merge]、[Confirm squash and merge] をクリックするか、[Confirm rebase and merge] をクリックします。
- また、代わりにブランチを削除することもできます。 こうすることで、リポジトリにあるブランチのリストが整理された状態を保てます。
プルリクエストは --no-ff
オプションを使用してマージされますが、squash またはリベースされたコミットは例外で、fast-forward オプションを使用してマージされます。
プルリクエストをIssueにリンクして、誰かがプルリクエストをマージしたときにIssueを自動的にクローズすることができます。 詳しい情報については「プルリクエストのIssueへのリンク」を参照してください。