將拉取請求(PR)排列成有序堆疊,並能一鍵合併所有變更。每個 PR 代表一層專注的變更,獨立審查並一同合併。

您可以從 GitHub 使用者介面在堆疊中的 PR 間切換,一目了然檢視每層的狀態,並能一鍵觸發整個堆疊的連鎖 rebase。

gh stack CLI 工具讓您輕鬆建立堆疊、執行連鎖 rebase、推送分支、建立 PR,並在終端機中切換各層。

執行 gh skill install github/gh-stack,教導您的 AI 編碼代理如何使用堆疊。您可以將大型差異拆解成堆疊,或從一開始就以堆疊方式開發。

大型拉取請求難以審查、合併緩慢且易產生衝突。審查者容易失去上下文,回饋品質下降,整個團隊效率降低。堆疊式 PR 透過將大型變更拆成一連串小而專注的 PR,彼此依序建立,每個都能獨立審查,解決這些問題。

堆疊是一系列在同一儲存庫中,且每個 PR 以下一層 PR 的分支為目標的拉取請求,形成有序鏈條,最終合併到主分支(例如 main)。

GitHub 全面支援堆疊:拉取請求介面顯示堆疊地圖,方便審查者在層間切換;分支保護規則針對最終目標分支執行(不僅是直接基底分支);CI 針對堆疊中每個 PR 執行,彷彿它們都是針對最終分支。

雖然 gh stack CLI 讓本地工作流程更順暢,但完全可選。您也能直接透過 GitHub UI、API 或標準 Git 工作流程建立與管理堆疊式 PR。若使用 CLI,工具會自動建立分支、管理 rebase、推送至 GitHub,並建立基底分支正確的 PR。在 GitHub 上,PR 介面提供審查者所需的上下文——堆疊地圖、每層專注的差異檢視,以及正確的規則執行。

準備合併時,點擊您想合併的最高層 PR 的「合併」按鈕——該 PR 及其下所有未合併的 PR 將自底向上一起合併。合併最高層 PR 可一次合併整個堆疊,或合併較低層 PR 只合併部分(上層 PR 保持開啟)。部分合併後,剩餘 PR 會自動 rebase,使最低未合併 PR 以更新後的基底分支為目標。

準備開始了嗎?請參考快速入門指南或完整概述。