GitHub запускает публичный превью stacked pull requests — механики, которая разбивает крупные изменения на серию коротких, упорядоченных PR. Каждый PR в стеке — это отдельный логический слой. Его можно ревьюить и проверять независимо, а мёржить всё вместе одним кликом. Больше не нужно открывать один монструозный PR, который никто не хочет разбирать, или вручную перебазировать несколько параллельных веток.
Тим Нойткенс, лид Next.js в Vercel, рассказал, что команда пользовалась фичей несколько месяцев: «Это помогло вводить небольшие отдельные изменения при доставке более крупных функций — ревьюить PR стало проще».
Stacked pull requests встроены прямо в GitHub, поэтому существующие ревью, чеки и требования к мёржу работают из коробки, включая branch protections. Ревьюверы могут параллельно разбирать разные слои, не блокируя работу друг друга. В верхней части каждого PR появляется stack map — она показывает, как текущий диф вписывается в общую картину.
Джон Резиг, создатель jQuery, назвал превью невероятным: «Замёржить пять stacked PRs прямо в merge queue одним махом! A+++! Это убирает кучу трения». Чтобы начать, достаточно установить CLI-расширение командой gh extension install github/gh-stack. Работать со стеками можно на github.com, в GitHub CLI, в мобильном приложении или с кодинг-агентом вроде GitHub Copilot через gh-stack skill. Сначала создаёте ветку и PR для первого изменения, а затем добавляете ветки и PR поверх — каждый целится в слой ниже.
Энди Мерриман, CTO TED, объясняет, что AI резко повысил продуктивность разработчиков, но PR разрослись настолько, что ревьюеры перестали справляться. Stacked PR решают эту проблему: большие изменения дробятся на маленькие, логически упорядоченные куски, ревью становится не только быстрее, но и точнее.
Мёрж устроен гибко. Если замёржить самый верхний готовый PR, вместе с ним улетят все незамёрженные слои ниже. Можно замёржить только часть стека — тогда верхние PR останутся открытыми и автоматически перебазируются и сменят цель. Все защиты веток и обязательные чеки продолжают действовать.
Маянк Саини, инженер по коннективности из WHOOP, говорит: «Раньше большое изменение означало один гигантский PR, который никто не хотел ревьюить. Теперь это стек маленьких PR, которые ревьюеры могут реально осмыслить, и весь стек мёржится за один заход. Это перестало ощущаться как инструмент поверх GitHub и стало ощущаться как сам GitHub».
Публичный превью разворачивается для всех репозиториев в ближайшие дни. Поддержка merge queue для stacked pull requests появится постепенно в течение следующих недель.