Repolode
github

github/gh-stack

Расширение GitHub CLI для создания, перебазирования, отправки и слияния цепочек небольших веток с pull request, удобных для ревью.

Звёзды
1,752
Форки
97
Открытые issues
158
Последний коммит
9 часов назад

Что это?

gh-stack — расширение GitHub CLI для работы со stacked pull request: большое изменение разбивается на цепочку небольших веток, каждая из которых строится поверх предыдущей. Для каждого PR в качестве базовой указывается ветка под ним, поэтому ревьюеры видят только diff соответствующего слоя.

Инструмент берет на себя рутинную работу со стеком: создание веток, каскадное перебазирование при изменении нижнего слоя, отправку веток, создание отдельного PR для каждого слоя и объединение их в Stack на GitHub. Также есть команды для перехода между слоями, изменения структуры стека через терминальный интерфейс (удаление, объединение, вставка, перестановка и переименование веток), синхронизации состояния после слияния PR и слияния нескольких stacked PR одной атомарной операцией.

Метаданные стека хранятся локально в общей директории Git, поэтому связанные рабочие деревья используют один каталог. При конфликтах во время перебазирования операция приостанавливается; ее можно продолжить или отменить с помощью специальных флагов.

Ключевые возможности

  • 01Создание стека веток и перебазирование всей цепочки при изменении нижнего слоя.
  • 02Отправка отдельного PR для каждой ветки с корректными базовыми ветками и объединение PR в Stack на GitHub.
  • 03Изменение структуры стека в терминальном интерфейсе: удаление, объединение, вставка, перестановка и переименование веток.
  • 04Синхронизация состояния стека с GitHub и удаление веток после слияния PR.
  • 05Слияние нескольких stacked PR вплоть до выбранного PR за одну операцию.
  • 06Поддержка связанных рабочих деревьев Git и вывод в формате JSON для `gh stack view`.

Сценарии использования

  • Разбиение крупной функциональности на небольшие 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 для создания, перебазирования, отправки и слияния цепочек небольших веток с pull request, удобных для ревью. gh-stack — расширение GitHub CLI для работы со stacked pull request: большое изменение разбивается на цепочку небольших веток, каждая из которых строится поверх предыдущей. Для каждого PR в качестве базовой указывается ветка под ним, поэтому ревьюеры видят только diff соответствующего слоя.
gh-stack можно использовать бесплатно? Какая у него лицензия?
gh-stack распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
gh-stack всё ещё поддерживается?
Активно поддерживается. Последний коммит в gh-stack — 7 нояб. 2026 г..
Для чего можно использовать 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 проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты