このプロジェクトについて
gh stackは、スタックされたブランチとプルリクエストを管理するGitHub CLI拡張機能です。スタックPRは大きな変更を、互いに積み重なるレビュー可能な小さなプルリクエストの連鎖に分割します。このツールはブランチ作成を自動化し、ブランチをリベースされた状態に保ち、正しいPRベースブランチを設定し、レイヤー間のナビゲーションを行います。
インストールは`gh extension install github/gh-stack`で行い、GitHub CLI v2.0+が必要です。AIコーディングエージェント向けにオプションのスキルをインストールできます。
コアモデル: スタックとはブランチの順序付きリストであり、各ブランチはその下のブランチに基づき、最下位はトランクブランチ(通常はmain)に基づきます。スタックのメタデータは`.git/gh-stack`にJSONとしてローカルに保存され、リベース状態は別ファイルに保存されます。
コマンドには以下が含まれます:
- init: スタックを初期化し、オプションで既存ブランチを採用し、トランクを設定可能。
- add: スタックの最上位に新しいブランチを作成し、変更のステージングとコミットのオプションあり。
- checkout: スタック番号、PR番号、PR URL、またはブランチ名でスタックをチェックアウト。ローカルおよびリモートスタック用のインタラクティブピッカーを含む。
- rebase: フェッチしてスタック全体でカスケードリベースを実行。downstack/upstack/no-trunkのスコープ指定とcontinue/abort処理あり。
- modify: ブランチのdrop、fold、insert、rename、reorderを行うインタラクティブなターミナルUI。
- sync: フェッチ、リモートスタックの調整、トランクのfast-forward、カスケードリベース、プッシュ、PR状態の同期、スタックのリンク、オプションでマージ済みブランチのpruneを実行。
- push: ブランチごとのforce-with-leaseチェックを行い、アクティブなブランチをプッシュ。
- submit: ブランチをプッシュし、PRとGitHubスタックを作成または更新。インタラクティブエディタまたは自動モードあり。
- link: ローカル追跡なしでブランチ名またはPR番号からGitHubスタックを作成または更新。他のローカルブランチツールと併用すると便利。
- merge: 1つ以上のスタックPRをオール・オア・ナッシング操作でマージ。マージ方法のオプションとマージキューの認識あり。
- view: スタックブランチ、順序、PRリンク、最近のコミットを表示。shortおよびJSON出力あり。
- unstack/delete: ローカル追跡および/またはGitHubからスタックを削除。
- ナビゲーションコマンド(up、down、top、bottom)は現在のスタック内のブランチ間を移動します。
READMEには、フラグ、例、前提条件、および分岐処理やマージキューとの相互作用などの動作が詳細に記載されています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.