Skip to main content
Skip to content

スタックされたプル リクエストの作成

GitHub CLIのgh stack拡張機能を使用して、またはGitHubで直接、依存するプル要求のスタックを作成します。

GitHub CLI または GitHub Web サイトで、gh stack 拡張機能を使用して、スタックプル要求を作成します。

メモ

スタック プル要求では、すべてのブランチが同じリポジトリに存在する必要があります。 クロスフォーク スタックはサポートされていません。

GitHub CLI スタックを作成する

  1. スタックを初期化します。 これにより、トランク ブランチの上に最初のブランチが作成され、チェックアウトされます。

    Shell
    gh stack init BRANCH-NAME
    
  2. 最初のレイヤーのコードを記述してから、変更をステージングしてコミットします。

    Shell
    git add .
    git commit -m "helpful-commit-message"
    
  3. 次の論理ユニットの作業のためのブランチを追加します。 新しいブランチは、現在のブランチの上に作成されます。

    Shell
    gh stack add BRANCH-NAME
    
  4. 新しいブランチに対してコードを書いてコミットしてください。 追加レイヤーごとに繰り返します。

  5. すべてのブランチをリモート リポジトリにプッシュし、 GitHubにスタックプル要求を作成します。

    Shell
    gh stack submit
    

    各プル リクエストは正しいベース ブランチで作成されるため、レビュー担当者はそのレイヤーの差分のみを確認し、プル リクエストはスタックとして自動的にリンクされます。

GitHub Web サイトからのスタックの作成

CLI を使用せずにスタックを作成するには、各プル要求のベース ブランチをその下のブランチに設定します。

  1. 通常どおり、最初の pull request を作成します。 通常、ベースは mainをターゲットとします。

  2. 次のプル リクエストを作成し、そのベース ブランチを最初のプル リクエストのブランチに設定します。 2 つのプル リクエストをスタックとしてリンクするには、[ スタックの作成 ] オプションを選択します。

    作成されると、スタックには、相互にリンクされたプル リクエストが表示されます。

    • プル リクエストの上部にある スタック アイコンには、表示しているレイヤーを示す番号が表示されます。
    • マージ ボックスにスタック マップが表示されます。 スタック内のすべてのプルリクエストとその状態が表示され、ワンクリックで任意のレイヤーに移動できます。
  3. 追加のプルリクエストごとに繰り返し、その前のプルリクエストのブランチを対象にします。

既存のプルリクエストをスタックに変換する

すでに、各プル リクエストのベース ブランチがその下のプル リクエストのヘッド ブランチになっているオープンなプル リクエストがある場合、GitHub はそのチェーンを認識し、それらをスタックに変換するための 推奨バナー を表示します。

  1. 対象となるプル リクエストのいずれかで、バナーを選択して、スタックをプレビューするダイアログを開き、各プル リクエストを上から下に順番に一覧表示します。

  2. プレビューを確認し、プルリクエストをスタックにリンクすることを確認してください。

確認すると、各プル リクエストのヘッダーにスタック マップが表示されます。

GitHub Web サイトから既存のスタックに追加する

既に存在するスタックに新しいプルリクエストを追加するには:

  1. スタック内のいずれかのプルリクエストを開き、ヘッダーの**** をクリックして、 スタックに追加をクリックします。

  2. ベース ブランチは、先頭のプル リクエストのヘッドに自動的に設定されます。 新しいプル リクエストのヘッド ブランチを選択し、[プル リクエストの作成] を選択します。

  3. ** [スタックに追加]** を選択して、プル リクエストを作成します。

新しいプルリクエストがスタックの一番上に追加されます。

詳細については、次を参照してください。