プルリクエストのマージについて
プルリクエストでは、head ブランチに� えた変更をベースブランチにマージすることを提案します。 デフォルトでは、head ブランチがベースブランチとコンフリクトしていない限り、どのプルリクエストもいつでもマージできます。 た� し、プルリクエストを特定のブランチにマージできるタイミングには制限がある� �合があります。 たとえば、必� �のステータスチェックに合� �した� �合にのみ、プルリクエストをデフォルトブランチにマージできます。 詳しい情� �については保護されたブランチについてを参照してく� さい。
プルリクエストでマージコンフリクトが発生する� �合、またはマージの前に変更をテストしたい� �合は、コマンドラインを使用して、プルリクエストをローカルでチェックアウトしてマージすることができます。
ドラフトのプルリクエストをマージすることはできません。 ドラフトのプルリクエストに関する詳しい情� �については「プルリクエストについて」を参照してく� さい。
プルリクエストをマージするとプルリクエストの head ブランチが自動的に削除されるようにリポジトリを設定できます。 詳しい情� �については「ブランチの自動削除の管理」を参照してく� さい。
注釈: プルリクエストがマージされた後にheadブランチを削除すると、GitHubは同じリポジトリ内に削除されたブランチをベースブランチと指定しているオープンなプルリクエストがないかをチェックします。 GitHubはそういったプルリクエストを自動的に更新し、ベースブランチをマージされたプルリクエストのベースブランチに変更します。 詳しい情� �については、「ブランチについて」を参照してく� さい。
プルリクエストは --no-ff
オプションを使用してマージされますが、squash またはリベースされたコミットは例外で、fast-forward オプションを使用してマージされます。
プルリクエストをIssueにリンクして、修復が進んでいることを示すことや、誰かがプルリクエストをマージしたときにIssueを自動的にクローズすることができます。 詳しい情� �については「プルリクエストのIssueへのリンク」を参照してく� さい。
トピックブランチでの変更を上流ブランチにマージしたくなければ、マージせずにプルリクエストをクローズすることができます。
プルリクエストをマージする
-
リポジトリ名の下で、クリックします 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] をクリックします。
- また、代わりにブランチを削除することもできます。 こうすることで、リポジトリにあるブランチのリストが整理された状態を保てます。
To learn more about GitHub CLI, see "About GitHub CLI."
To merge a pull request, use the gh pr merge
subcommand. Replace pull-request
with the number, URL, or head branch of the pull request.
gh pr merge pull-request
Follow the interactive prompts to complete the merge. For more information about the merge methods that you can choose, see "About pull request merges."
Alternatively, you can use flags to skip the interactive prompts. For example, this command will squash the commits into a single commit with the commit message "my squash commit", merge the squashed commit into the base branch, and then delete the local and remote branch.
gh pr merge 523 --squash --body "my squash commit" --delete-branch