インストール
gh extension install github/gh-stack誰向けか
gh-stack は、重ねたブランチと Pull Request を管理する GitHub CLI 拡張である。すでに GitHub CLI を使っており、順序のあるブランチ一式を 1 本の stack として進めたい人に向く。概要は拡張のインストールに GitHub CLI v2.0+ が必要とも書いている。
資料は、AI コーディングエージェントが重ねた PR と gh stack コマンドラインを理解できるよう gh-stack skill を入れられると述べる。ただし抜粋は「その skill をインストールする」としか書いておらず、2 本目のインストールコマンドは出していないので、現れないインストーラを自分で足さないこと。資料はエージェント製品の一覧を出しておらず、特定のエディタ専用機能だと捉えてはいけない。公式ガイドページは
https://github.com/github/gh-stack
3 分で最初の試行を終える
公式のインストールコマンドは、抜粋にあるこの 1 本である:
gh extension install github/gh-stack
前提:このマシンにすでに GitHub CLI があり、バージョンが概要の v2.0+ を満たすこと。このコマンドは拡張をマシンに書き込むので副作用がある。今のリポジトリとアカウントが stack を試したい環境だと確認してからインストールする。
インストール後の低リスク確認:すぐブランチを作らない。先にコマンド gh stack が CLI から見つかることを確認する。資料は gh stack init を「新しい stack を開始し、最初のブランチを作成してチェックアウトする」と説明する。作業ツリーが変わるので、確認を得てから実行する:
gh stack init
成功の合図:インストール後、gh が stack サブコマンドを認識すること。新しい stack を始めると確認したなら、init のあと現在のリポジトリに新しい最初のブランチが現れ、後で未コミットの .git/gh-stack に JSON メタデータが見える。先に説明だけ見たいなら、インストール成功で止め、init しない。
利用例
例 1:新しい重ねブランチを始める。拡張が入ったリポジトリで、ブランチを変えてよいと確認してから gh stack init を実行する。資料はこれを最初のブランチの作成とチェックアウトと書く。概要は続けて層を足す、push、閲覧、一組の PR 提出にも触れるが、抜粋はそれらの後続サブコマンドの完全な書き方を出していない。この例の完了基準は「最初のブランチが作成されチェックアウトされた」までであり、push や PR 作成をすでにコピー可能な手順として書かない。
例 2:stack メタデータの場所を確かめ、中断した rebase のあとに何を見るかを理解する。資料は次のように書く:stack メタデータは .git/gh-stack にあり、リポジトリにコミットされない JSON で、どのブランチがどの stack に属しどの順かを記録する。中断した rebase の状態は別に .git/gh-stack-rebase-state にある。これは読み取り専用の確認である。この 2 つのパスを開き、ファイルがあることと JSON が現在のブランチ順を追跡していることを確認する。同じページに別手順がない限りこれらのファイルを手編集しない。抜粋は編集形式を出していない。
利用上の境界
拡張がカバーするのは重ねたブランチと Pull Request の管理だけである。メタデータは .git/gh-stack にありバージョン管理ツリーには入らない。rebase 中断状態は .git/gh-stack-rebase-state にある。init はブランチを作成してチェックアウトするので、読み取り専用コマンドではない。
抜粋に現れない skill インストールコマンドを作らず、概要の層追加、push、閲覧、提出をすでに与えられたサブコマンド一覧だと捉えないこと。資料はクライアント一覧も、GitHub CLI 以外での使い方も書いていない。ここに書いたインストール、init、メタデータの場所を超える範囲は、この説明の対象外である。