GitHub CLI または GitHub Web サイトで、gh stack 拡張機能を使用して、スタックプル要求を作成します。
メモ
スタック プル要求では、すべてのブランチが同じリポジトリに存在する必要があります。 クロスフォーク スタックはサポートされていません。
GitHub CLI スタックを作成する
-
スタックを初期化します。 これにより、トランク ブランチの上に最初のブランチが作成され、チェックアウトされます。
Shell gh stack init BRANCH-NAME
gh stack init BRANCH-NAME -
最初のレイヤーのコードを記述してから、変更をステージングしてコミットします。
Shell git add . git commit -m "helpful-commit-message"
git add . git commit -m "helpful-commit-message" -
次の論理ユニットの作業のためのブランチを追加します。 新しいブランチは、現在のブランチの上に作成されます。
Shell gh stack add BRANCH-NAME
gh stack add BRANCH-NAME -
新しいブランチに対してコードを書いてコミットしてください。 追加レイヤーごとに繰り返します。
-
すべてのブランチをリモート リポジトリにプッシュし、 GitHubにスタックプル要求を作成します。
Shell gh stack submit
gh stack submit各プル リクエストは正しいベース ブランチで作成されるため、レビュー担当者はそのレイヤーの差分のみを確認し、プル リクエストはスタックとして自動的にリンクされます。
GitHub Web サイトからのスタックの作成
CLI を使用せずにスタックを作成するには、各プル要求のベース ブランチをその下のブランチに設定します。
-
通常どおり、最初の pull request を作成します。 通常、ベースは
mainをターゲットとします。 -
次のプル リクエストを作成し、そのベース ブランチを最初のプル リクエストのブランチに設定します。 2 つのプル リクエストをスタックとしてリンクするには、[ スタックの作成 ] オプションを選択します。
作成されると、スタックには、相互にリンクされたプル リクエストが表示されます。
- プル リクエストの上部にある スタック アイコンには、表示しているレイヤーを示す番号が表示されます。
- マージ ボックスにスタック マップが表示されます。 スタック内のすべてのプルリクエストとその状態が表示され、ワンクリックで任意のレイヤーに移動できます。
-
追加のプルリクエストごとに繰り返し、その前のプルリクエストのブランチを対象にします。
既存のプルリクエストをスタックに変換する
すでに、各プル リクエストのベース ブランチがその下のプル リクエストのヘッド ブランチになっているオープンなプル リクエストがある場合、GitHub はそのチェーンを認識し、それらをスタックに変換するための 推奨バナー を表示します。
-
対象となるプル リクエストのいずれかで、バナーを選択して、スタックをプレビューするダイアログを開き、各プル リクエストを上から下に順番に一覧表示します。
-
プレビューを確認し、プルリクエストをスタックにリンクすることを確認してください。
確認すると、各プル リクエストのヘッダーにスタック マップが表示されます。
GitHub Web サイトから既存のスタックに追加する
既に存在するスタックに新しいプルリクエストを追加するには:
-
スタック内のいずれかのプルリクエストを開き、ヘッダーの**** をクリックして、 スタックに追加をクリックします。
-
ベース ブランチは、先頭のプル リクエストのヘッドに自動的に設定されます。 新しいプル リクエストのヘッド ブランチを選択し、[プル リクエストの作成] を選択します。
-
** [スタックに追加]** を選択して、プル リクエストを作成します。
新しいプルリクエストがスタックの一番上に追加されます。