Skip to main content

積み上げプル要求で他のツールを使用する

Jujutsu、Sapling、git-town などのツールで、積み上げプル要求を使用します。

メモ

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

スタックプル要求は、標準の Git ブランチと通常のプル要求に基づいて構築されているため、ローカル ワークフローに gh stack CLI 以外のツールを使用することを選択できます。 Jujutsu (jj)、Sapling、git-town などの別のツールを使用してブランチ チェーンを管理する場合は、 gh stack link コマンドを使用して、 GitHub上のスタックとしてそれらのブランチを開くことができます。

gh stack link コマンドは、GitHub API のみを呼び出してスタックされたプル要求を作成します。ローカル追跡は作成されません。 ブランチに既にオープン プル要求がある場合、 link はそれを使用します。それ以外の場合は、適切なベース ブランチを使用して下書きプル要求が作成されます。

分岐をスタックとしてリンクする

  1. 任意のツールを使用して、ブランチのチェーンをローカルに作成します。 たとえば、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 @
    
  2. ブランチをプッシュし、下から上に一覧表示されたスタックとしてリンクします。

    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 rebasegh stack sync、スタック ナビゲーションなどのコマンドを使用できるように、完全なローカル スタック追跡が必要な場合は、代わりにgh stack initを使用して既存のブランチを採用してから送信します。

gh stack init change1 change2 change3
gh stack submit

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