n1ro°
RU

Компьютеры · Инструкция

Как сбрасывать устаревшие approvals после новых коммитов в GitHub PR

Это усиливает контроль за тем, что одобрен именно актуальный diff, но увеличивает число повторных ревью. Ниже — последов

Редакция N1RO · Проверено

Короткий ответ

GitHub может автоматически отклонять старые approvals после новых коммитов, если соответствующая настройка включена в защите ветки. Практический вариант: `Settings → Branches → Branch protection rule → Dismiss stale pull request approvals when new commits are pushed`.

Что делать

  1. Проверьте исходное состояние: Работайте в нужном репозитории/проекте или контексте инструмента. До изменения зафиксируйте текущее состояние; для последующей проверки используйте `Откройте PR, добавьте новый коммит и убедитесь, что прежнее approval больше не удовлетворяет правилу.`.
  2. Выполните основное действие: Запустите `Settings → Branches → Branch protection rule → Dismiss stale pull request approvals when new commits are pushed`. Если команда содержит пример имени, тега, пакета, контейнера или дистрибутива — замените его своим значением.
  3. Проверьте результат: Выполните `Откройте PR, добавьте новый коммит и убедитесь, что прежнее approval больше не удовлетворяет правилу.` и сопоставьте вывод с целью страницы: включить правило, при котором одобрения pr становятся недействительными после изменения diff. Не продолжайте автоматизацию, если проверка показывает другой объект или состояние.
  4. Зафиксируйте безопасный рабочий вариант: Если действие должно выполняться в CI или скрипте, сначала сохраните проверенную команду в локальном сценарии и добавьте явную обработку ненулевого кода возврата или отсутствующего объекта.

Перед запуском

  • Вы находитесь в нужном проекте, репозитории, Docker context или Python/Node окружении.
  • Команда проверки известна заранее: `Откройте PR, добавьте новый коммит и убедитесь, что прежнее approval больше не удовлетворяет правилу.`.
  • Имена веток, тегов, пакетов, контейнеров и дистрибутивов заменены на ваши.
  • Для необратимых удалённых действий есть резервный путь восстановления или подтверждение в UI/API.

Важно

Не копируйте пример вслепую. Команда `Settings → Branches → Branch protection rule → Dismiss stale pull request approvals when new commits are pushed` может менять состояние проекта, registry, remote, контейнера или окружения. Перед запуском проверьте имена объектов, права и текущий контекст.

Почему это работает

GitHub может автоматически отклонять старые approvals после новых коммитов, если соответствующая настройка включена в защите ветки.

Проверка

  • Основное действие: Settings → Branches → Branch protection rule → Dismiss stale pull request approvals when new commits are pushed
  • Проверка: Откройте PR, добавьте новый коммит и убедитесь, что прежнее approval больше не удовлетворяет правилу.

Что учитывать

Не копируйте пример вслепую. Команда `Settings → Branches → Branch protection rule → Dismiss stale pull request approvals when new commits are pushed` может менять состояние проекта, registry, remote, контейнера или окружения. Перед запуском проверьте имена объектов, права и текущий контекст.

Источники и проверка

Фактическая часть сверена по первичным источникам (в т.ч. About protected branches). Пример и формулировки — редакция N1RO на 2026-09-19.