メモ
この機能はパブリック プレビュー段階であり、変更される可能性があります。
スタックプル要求は、標準の Git ブランチと通常のプル要求に基づいて構築されているため、ローカル ワークフローに gh stack CLI 以外のツールを使用することを選択できます。 Jujutsu (jj)、Sapling、git-town などの別のツールを使用してブランチ チェーンを管理する場合は、 gh stack link コマンドを使用して、 GitHub上のスタックとしてそれらのブランチを開くことができます。
gh stack link コマンドは、GitHub API のみを呼び出してスタックされたプル要求を作成します。ローカル追跡は作成されません。 ブランチに既にオープン プル要求がある場合、 link はそれを使用します。それ以外の場合は、適切なベース ブランチを使用して下書きプル要求が作成されます。
分岐をスタックとしてリンクする
-
任意のツールを使用して、ブランチのチェーンをローカルに作成します。 たとえば、Jujutsu では次のようになります。
jj new main -m "first change" jj bookmark create change1 --revision @ jj new -m "second change" jj bookmark create change2 --revision @ jj new -m "third change" jj bookmark create change3 --revision @ -
ブランチをプッシュし、下から上に一覧表示されたスタックとしてリンクします。
gh stack link change1 change2 change3これにより、ブランチがプッシュされ、正しいベースを持つ各ブランチのプル要求が作成され、 GitHub上のスタックとしてリンクされます。
既存のスタックへの追加
linkで作成したスタックに分岐を追加するには、スタック内のプル要求とブランチの完全な一覧を使用して、下から上にgh stack linkをもう一度実行します。 既存のプル要求を番号で参照できます。
gh stack link 123 124 125 change4 change5
ベース ブランチの設定または pull request のオープン
既定では、 link はリポジトリの既定のブランチを対象とし、下書きのプル要求を作成します。 この動作を変更するには:
--baseを使用して、別のトランク ブランチを指定します。--openを使用して、下書きではなく、pull requests をレビューの準備完了としてマークします。
gh stack link --base develop --open change1 change2 change3
完全なローカル追跡のためのブランチの採用
gh stack rebase、gh stack sync、スタック ナビゲーションなどのコマンドを使用できるように、完全なローカル スタック追跡が必要な場合は、代わりにgh stack initを使用して既存のブランチを採用してから送信します。
gh stack init change1 change2 change3
gh stack submit