Skip to main content

スタックされたプル要求のマージ

スタックを一番下から上、個別、または連続したグループにマージします。

メモ

この機能はパブリック プレビュー段階であり、変更される可能性があります。

一番下 (トランクに最も近い) から上に積み重ねられたプル要求のマージ。

  • 結合されていない最も低いプル要求から始まる連続したグループを形成している限り、任意の数のプル要求を一度にマージできます。
  • ミッドスタックのプル要求を分離してマージすることはできません。その下のプル要求は常にマージされます。

マージの要件

スタックされたプル要求のマージ ボックスには、現在のプル要求だけでなく、スタック全体の状態が表示されます。 スタック内のプル要求をマージする前に、次のことが当てはまる必要があります。

  • その下にあるすべてのプル要求が承認され、合格チェックが行われます。
  • スタックには線形履歴があります。
  • 現在の pull request は、 mainなど、スタック ベースのすべてのブランチ保護要件を満たしています。

たとえば、変更が下位ブランチにプッシュされた後やトランクが先に移動した後など、スタックが線形でない場合は、マージ ボックスに Rebase スタック ボタンが表示され、マージする前にスタックをリベースする必要があります。

メモ

  • API を使用してマージし、スタックされたプル要求を使用する場合は、スタックに新しいマージ API を使用するようにコードを更新する必要があります。 「Pull request 用 REST API エンドポイント」を参照してください。
  • 自動マージは、スタックされたプル要求ではサポートされていません。

マージ キューを使用したマージ

スタックは、マージ キューを完全にサポートします。 スタック内のすべてのプル要求は、正しい順序でキューに追加されます。 プル要求がキューから削除または取り出された場合、スタック内のその上にあるすべてのプル要求も削除されます。

メモ

スタックを一緒に保持するために、マージ キューを使用すると、マージ グループは構成されている最大サイズを最大 50% 超える可能性があります。 スタックが大きすぎてそのバッファー内に収まらない場合、連続するマージ グループ間で自動的に分割されます。

下から上へのマージ

  1. スタック内の結合されていない最下位のプル要求に移動するか、その時点までの連続したグループをマージする場合は、上位のプル要求に移動します。

  2. pull request とその下にあるすべてのプル要求がマージ要件を満たしていることを確認します。

  3. プルリクエストを統合します。 選択したプル要求とその下にあるすべての結合されていないプル要求は、結果の履歴の一番下から順に並べ替えられた 1 回の操作としてベース ブランチに配置されます。

マージ後、マージされていない次のプル要求は、スタック ベースを直接ターゲットにするように自動的にリベースされるため、一番下に移動し、確認してマージする準備が整います。

スタック内のすべてのプル要求がマージされると、スタックは完了し、拡張できません。 新しいブランチを一番上に追加し、 gh stack submitを実行すると、 GitHub CLI それらのブランチのトランクをルートとする新しいスタックが自動的に開始されます。