プルリクエストをマージする

作業が完了したら、プルリクエストを上流ブランチにマージします。 リポジトリに対してプッシュアクセスを持つユーザなら誰でもマージを実行できます。

プルリクエストのマージについて

プルリクエストでは、head ブランチに加えた変更をベースブランチにマージすることを提案します。 デフォルトでは、head ブランチがベースブランチとコンフリクトしていない限り、どのプルリクエストもいつでもマージできます。 ただし、プルリクエストを特定のブランチにマージできるタイミングには制限がある場合があります。 たとえば、必須のステータスチェックに合格した場合にのみ、プルリクエストをデフォルトブランチにマージできます。 詳しい情報については保護されたブランチについてを参照してください。

プルリクエストでマージコンフリクトが発生する場合、またはマージの前に変更をテストしたい場合は、コマンドラインを使用して、プルリクエストをローカルでチェックアウトしてマージすることができます。

ドラフトのプルリクエストをマージすることはできません。 ドラフトのプルリクエストに関する詳しい情報については「プルリクエストについて」を参照してください。

プルリクエストがリポジトリにマージされた後、head ブランチを自動的に削除することができます。 詳しい情報については「ブランチの自動削除の管理」を参照してください。

トピックブランチでの変更を上流ブランチにマージしたくなければ、マージせずにプルリクエストをクローズすることができます。

Tip: You can also merge a pull request using the GitHub CLI. For more information, see "gh pr merge" in the GitHub CLI documentation.

GitHub でプルリクエストをマージする

  1. リポジトリ名の下で、クリックします Pull requests

Issues tab 2. [Pull Requests] リストで、マージしたいプルリクエストをクリックします。 3. リポジトリで有効なマージオプションに応じて、以下の操作が可能です:

- [**Merge pull request**] をクリックして、すべてのコミットを[ベース ブランチにマージ](/articles/about-pull-request-merges/)します。 [**Merge pull request**] オプションが表示されない場合は、マージのドロップダウン メニューをクリックして [**Create a merge commit**] をクリックします。 ![[Merge pull request] ボタン](/assets/images/help/pull_requests/pullrequest-mergebutton.png)
- [複数のコミットを 1 つのコミットに squash する](/articles/about-pull-request-merges/#squash-and-merge-your-pull-request-commits)には、マージのドロップダウン メニューをクリックして [**Squash and merge**] を選択し、[**Squash and merge**] ボタンをクリックします。 ![[Squash and merge] ボタンをクリック](/assets/images/help/pull_requests/select-squash-and-merge-from-drop-down-menu.png)
- [コミットを個々にベース ブランチにリベースする](/articles/about-pull-request-merges/#rebase-and-merge-your-pull-request-commits)には、マージのドロップダウンをクリックして [**Rebase and merge**] を選択し、[**Rebase and merge**] ボタンをクリックします。 ![ドロップダウン メニューから [Rebase and merge] を選択](/assets/images/help/pull_requests/select-rebase-and-merge-from-drop-down-menu.png)

<div class="extended-markdown note border rounded-1 mb-4 p-3 color-border-info color-bg-info f5">

**メモ:** リベースおよびコミットを行うと、常にコミッターの情報が更新され、新しいコミット SHA が作成されます。 詳細は「[プルリクエストのマージについて](/articles/about-pull-request-merges#rebase-and-merge-your-pull-request-commits)」を参照してください。

</div>
  1. 要求されたら、コミットメッセージを入力するか、デフォルトのメッセージのままにします。

    squashマージのデフォルトのコミットメッセージに関する情報については「プルリクエストのマージについて」を参照してください。 Commit messageフィールド

注釈: メールセレクタは、マージコミットを作成しないリベースマージ、またはプルリクエストを作成したユーザを squash コミットの作者としてクレジットする squash マージには使用できません。

  1. [Confirm merge]、[Confirm squash and merge] をクリックするか、[Confirm rebase and merge] をクリックします。
  2. また、代わりにブランチを削除することもできます。 こうすることで、リポジトリにあるブランチのリストが整理された状態を保てます。

プルリクエストをマージするとプルリクエストの head ブランチが自動的に削除されるようにリポジトリを設定できます。 詳しい情報については「ブランチの自動削除の管理」を参照してください。

注釈: プルリクエストがマージされた後にheadブランチを削除すると、GitHubは同じリポジトリ内に削除されたブランチをベースブランチと指定しているオープンなプルリクエストがないかをチェックします。 GitHubはそういったプルリクエストを自動的に更新し、ベースブランチをマージされたプルリクエストのベースブランチに変更します。 詳しい情報については、「ブランチについて」を参照してください。

プルリクエストは --no-ff オプションを使用してマージされますが、squash またはリベースされたコミットは例外で、fast-forward オプションを使用してマージされます。

Pull RequestをIssueにリンクして、修正が進んでいることを示すとともに、誰かがそのPull Requestをマージしたときに自動的にそのIssueをクローズさせることができます。 詳しい情報については「プルリクエストのIssueへのリンク」を参照してください。

参考リンク

このドキュメントは役立ちましたか?プライバシーポリシー

これらのドキュメントを素晴らしいものにするのを手伝ってください!

GitHubのすべてのドキュメントはオープンソースです。間違っていたり、はっきりしないところがありましたか?Pull Requestをお送りください。

コントリビューションを行う

OR, コントリビューションの方法を学んでください。

問題がまだ解決していませんか?

GitHubコミュニティで質問するサポートへの連絡