マージ キューについて
マージ キューを使用すると、pull request のマージをビジー ブランチに自動化し、互換性のない変更によってブランチが中断されないようにすることで、速度を向上できます。
マージ キューは、 [マージする前にブランチを最新の状態にする] ブランチ保護と同じ利点を提供しますが、pull request の作成者が pull request ブランチを更新し、状態チェックが完了するのを待ってからマージを試みる必要はありません。
マージ キューの使用は、多くの異なるユーザーから毎日比較的多数の pull request がマージされるブランチで特に便利です。
pull request が必要なすべてのブランチ保護チェックに合格すると、リポジトリへの書き込みアクセス権を持つユーザーは、その pull request をキューに追加できます。 マージ キューでは、pull request の変更がターゲット ブランチの最新バージョンとキュー内に既に存在する pull request に適用されたときに、それらが必要な状態チェックをすべて通過したことが保証されます。
マージ キューでは、GitHub Actions または独自の CI プロバイダーを使用して、マージ キュー内の pull request に対して必要なチェックを実行できます。 詳しくは、「GitHub Actions ドキュメント」を参照してください。 マージ キューについて詳しくは、「マージキューの管理」を参照してください。
マージ キューへの pull request の追加
注: pull request をマージ キューに追加するには GitHub CLI を使います。 詳細については、この記事の上部にある [GitHub CLI] タブをクリックしてください。
-
GitHub で、リポジトリのメイン ページに移動します。
-
リポジトリ名の下にある [pull request] をクリックします。
-
[pull request] の一覧で、マージ キューに追加する pull request をクリックします。
-
[準備ができたらマージ] をクリックして、pull request をマージ キューに追加します。 または、管理者の場合は、次のことができます。
- ブランチ保護設定で許可されている場合は、[要件が満たされるのを待たずにマージする (ブランチ保護のバイパス)] をオンにして pull request を直接マージし、標準フローに従います。
注: 提案された変更をマージする準備ができたら、いつでも [準備ができたらマージ] をクリックできます。 必要な承認と状態チェックの条件が満たされると、GitHub によって自動的に pull request がマージ キューに追加されます。
-
[準備ができたらマージを確認する] をクリックして、マージ キューへの pull request の追加を確認します。
GitHub CLI で、gh pr merge
コマンドを使用してマージ キューに pull request を追加できます。 マージ キューを必要とするブランチをターゲットにしている場合、必要なチェックに合格した場合に、このコマンドによって pull request がキューに自動的に追加されます。 必要なチェックに合格していない場合、このコマンドによって pull request の自動マージが有効になります。 詳しくは、GitHub CLI のマニュアルで gh pr merge
をご覧ください。
マージ キューからの pull request の削除
マージ キューから pull request を削除するには、GitHub.com のリポジトリのページに移動する必要があります。 GitHub CLI を使用して、マージ キューから pull request を削除することはできません。
-
GitHub で、リポジトリのメイン ページに移動します。
-
リポジトリ名の下にある [pull request] をクリックします。
-
[pull request] の一覧で、マージ キューから削除する pull request をクリックします。
-
キューから pull request を削除するには、 [キューから削除] をクリックします。
または、ベース ブランチのマージ キュー ページに移動し、削除する pull request の横にある [...] をクリックして、 [キューから削除] を選択することもできます。 ベース ブランチのマージ キュー ページに移動する方法については、下のセクションを参照してください。
マージ キューの表示
GitHub のさまざまな場所で、ベース ブランチのマージ キューを表示できます。 GitHub CLI を使用して、マージ キューを表示することはできません。
GitHub のさまざまな場所で、ベース ブランチのマージ キューを表示できます。
-
リポジトリの [ブランチ] ページ。 キューにまだ pull request がない場合や、キュー内に既にある pull request がわからない場合で、そのキューの内容を確認したい場合は、このルートを使うことをお勧めします。 詳しくは、「リポジトリ内のブランチを表示する」を参照してください。
-
マージ キューがマージに必要なときは、pull request のページで、タイムラインの一番下までスクロールし、 [マージ キュー] のリンクをクリックします。
-
マージ キューのビューに現在キュー内にある pull request が表示され、自分の pull request は明確にマークされます。
マージ キューから pull request が削除された理由を理解する
ターゲット ブランチの最新バージョンとキュー内のそれより前の変更を含むグループに pull request をグループ化した後、必要な状態チェックが失敗した場合、またはベース ブランチと競合した場合、pull request はキューから削除されます。 pull request タイムラインには、その pull request がキューから削除された理由が表示されます。
pull request をマージ キューから削除できる理由は、数多くあります。
- 構成済みの CI サービスがマージ グループのテスト エラーを報告している
- 成功した CI 結果の待機が、構成されたタイムアウト設定に基づいてタイムアウトした
- ユーザーが API またはマージ キュー インターフェイスを使用して削除を要求した
- ブランチ保護エラーを自動的に解決できなかった