n1ro°
RU

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

GitHub отклоняет push файла больше 100 MB: как убрать файл из commit

Просто добавить файл в `.gitignore` после commit недостаточно: объект уже остаётся в отправляемой истории. Исправление з

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

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

GitHub блокирует обычные Git-объекты больше 100 MB. Уберите большой файл из commit/истории и храните его через Git LFS или внешнее хранилище, затем повторите push.

Что делать

  1. Найдите файл: Посмотрите сообщение remote и размер файла; при необходимости используйте `git rev-list --objects --all` и анализ больших объектов.
  2. Если файл только в последнем commit: Уберите его из индекса `git rm --cached <file>`, добавьте правило в `.gitignore`, затем amend commit.
  3. Если файл нужен в репозитории: Настройте Git LFS для соответствующего типа и повторно добавьте файл через LFS.
  4. Если объект уже глубоко в истории: Перепишите историю специализированным инструментом и согласуйте force-push с командой.
  5. Проверьте перед push: Убедитесь, что большой blob больше не входит в диапазон отправляемых commits.

Важно

Переписывание опубликованной истории затронет клоны коллег; согласуйте это заранее.

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

Переписывание опубликованной истории затронет клоны коллег; согласуйте это заранее.

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

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