Компьютеры · Инструкция
GitHub заблокировал push из-за secret scanning: как удалить секрет правильно
Удаление токена новым commit не помогает, если секрет остаётся в более раннем commit, который тоже отправляется. GitHub
Короткий ответ
Если push protection нашёл реальный секрет, отзовите/ротируйте credential и удалите его из всех commits, где он присутствует. Для секрета в последнем commit исправьте файл и выполните `git commit --amend --all`, затем push.
Что делать
- Определите секрет: Используйте сообщение GitHub, чтобы найти тип секрета и commit.
- Считайте секрет скомпрометированным: Ротируйте или отзовите credential у провайдера.
- Последний commit: Удалите значение из файла, добавьте безопасный источник конфигурации и выполните `git commit --amend --all`.
- Более ранний commit: Перепишите локальную историю так, чтобы значение исчезло из каждого отправляемого commit.
- Повторите push: Убедитесь, что секрет не попадает ни в tracked-файл, ни в generated artifact.
Важно
Не используйте bypass для реального действующего секрета только ради прохождения push.
Что учитывать
Не используйте bypass для реального действующего секрета только ради прохождения push.
Источники и проверка
Фактическая часть сверена по первичным источникам (в т.ч. Working with push protection from the command line). Пример и формулировки — редакция N1RO на 2026-09-17.