Repolode
github

github/gh-stack

レビューしやすい小さなブランチを連ねたスタック形式のプルリクエストを作成、リベース、提出、マージできる GitHub CLI 拡張機能。

スター
1,752
フォーク
97
未解決の Issue
158
最終コミット
9 時間前

これは何?

gh-stack は、スタック形式のプルリクエストを扱うための GitHub CLI 拡張機能です。大きな変更を、小さなブランチを積み重ねた一連の変更に分割し、各ブランチがその下のブランチをベースにします。各 PR のベースも直下のブランチに設定されるため、レビュアーにはそのレイヤーの差分だけが表示されます。

スタックに伴う定型作業をまとめて処理できます。ブランチの作成、下位レイヤーの変更時に連鎖的に行うリベース、ブランチの push、各レイヤーの PR 作成、GitHub 上での Stack としてのリンクに対応しています。また、レイヤー間の移動、ターミナル UI でのスタック構成の変更(削除、統合、挿入、並べ替え、名前の変更)、PR のマージ後の状態同期、複数のスタック PR の一括マージ(すべて成功するか、すべて取り消すかのいずれか)を行うコマンドもあります。

スタックのメタデータはローカルの Git common directory に保存されるため、リンクされた worktree 間で同じカタログを共有できます。リベース中にコンフリクトが発生すると処理が一時停止し、専用のフラグで再開または中止できます。

主な機能

  • 01スタック形式のブランチを作成し、下位レイヤーの変更時にはチェーン全体をリベースできます。
  • 02ブランチごとに適切なベースブランチを設定した PR を作成し、GitHub 上で Stack としてリンクできます。
  • 03ターミナル UI でブランチの削除、統合、挿入、並べ替え、名前の変更を行い、スタックを再構成できます。
  • 04スタックの状態を GitHub と同期し、PR のマージ後にブランチを整理できます。
  • 05指定した PR までの複数のスタック PR をまとめてマージできます。
  • 06リンクされた Git worktree に対応し、`gh stack view` の JSON 出力も利用できます。

ユースケース

  • 大きな機能を小さな PR に分割し、レビュアーがレイヤーごとに承認できるようにする。
  • レビューのフィードバックを受けてスタックの中間レイヤーを更新する際、各ブランチを手動でリベースする手間を省く。
  • スタックの最下層から順に、依存関係のある PR をまとめてマージする。

クイックスタート

  1. 1

    GitHub CLIを使って拡張機能をインストールする

    gh extension install github/gh-stack
  2. 2

    新しいスタックを開始し、最初のブランチをチェックアウトする

    gh stack init
  3. 3

    スタックにブランチを追加する

    gh stack add api-endpoints
  4. 4

    スタック形式のプルリクエストを作成する

    gh stack submit

収録されている特集

トピック

よくある質問

gh-stack とは?
レビューしやすい小さなブランチを連ねたスタック形式のプルリクエストを作成、リベース、提出、マージできる GitHub CLI 拡張機能。 gh-stack は、スタック形式のプルリクエストを扱うための GitHub CLI 拡張機能です。大きな変更を、小さなブランチを積み重ねた一連の変更に分割し、各ブランチがその下のブランチをベースにします。各 PR のベースも直下のブランチに設定されるため、レビュアーにはそのレイヤーの差分だけが表示されます。
gh-stack は無料で使えますか?ライセンスは?
gh-stack は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
gh-stack は今もメンテナンスされていますか?
活発にメンテナンス中。gh-stack の最終コミットは 2026年11月7日 です。
gh-stack は何に使えますか?
大きな機能を小さな PR に分割し、レビュアーがレイヤーごとに承認できるようにする。 レビューのフィードバックを受けてスタックの中間レイヤーを更新する際、各ブランチを手動でリベースする手間を省く。 スタックの最下層から順に、依存関係のある PR をまとめてマージする。
gh-stack のインストール方法は?
GitHub CLIを使って拡張機能をインストールする: gh extension install github/gh-stack 新しいスタックを開始し、最初のブランチをチェックアウトする: gh stack init スタックにブランチを追加する: gh stack add api-endpoints スタック形式のプルリクエストを作成する: gh stack submit
gh-stack はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/github/gh-stack

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト