Подтвердить что ты не робот

Проблемы с нажатием больших файлов через GIT

В настоящее время, когда я пытаюсь нажать на Git repo, я получаю следующую ошибку.

remote: error: GH001: Large files detected.
remote: error: Trace: 7bbfe5c1099cfe679aa3cd1eee13e10a
remote: error: See http://git.io/iEPt8g for more information.
remote: error: File e3384023be667de7529538b11c12ec68.201307290946.sql.gz is 125.37 MB; this exceeds GitHub file size limit of 100 MB

Я прошел проверку и убедился, что этот файл не существует в каталоге и сделал Git add -u, мы попытались обрезать ветку, но это не работает, поскольку он не может найти файл для удаления.

Любая помощь будет высоко оценена.

4b9b3361

Ответ 1

Возможно, вы нажимаете несколько коммитов, один из которых включает большой файл, а другой - более новый, удаляющий этот файл.

В любом случае вы можете попробовать, как описано в " Фиксация" это превышает предел размера файла GitHubs размером 100 МБ", ветвь фильтра (если вы знаете имя/путь большого файла, который вы не видите)

git filter-branch --index-filter 'git rm --cached --ignore-unmatch e3384023be667de7529538b11c12ec68.201307290946.sql.gz' <sha1>..HEAD

Или, если вы не знаете, но хотите избавиться от какого-либо большого файла (скажем, > 90 МБ), вы можете использовать BFG repo уборщик

bfg --strip-blobs-bigger-than 90M  my-repo.git

Это будет отслеживать для вас этот неуловимый большой файл в вашей истории репо и удалить его.
Обратите внимание, что после этого вам нужно будет сделать git push --force, потому что история последних коммитов будет изменена.
Если кто-то уже клонировал ваше репо раньше, нужно немного сообщить об этом, чтобы предупредить их.

Ответ 2

В моем случае я исправил его по этой ссылке:

Справка GitHub | Работа с большими файлами

Обратите внимание, где написано giant_file (я этого не заметил)

$ git filter-branch --force --index-filter \
  'git rm --cached --ignore-unmatch giant_file' \
  --prune-empty --tag-name-filter cat -- --all

$ git commit --amend -CHEAD

$ git push

Ответ 3

Если у вас есть несколько больших файлов, вам нужно запустить еще одну команду:

git filter-branch --index-filter 'git rm --cached --ignore-unmatch largfile1'
git filter-branch --index-filter 'git rm --cached --ignore-unmatch largefile2'
Cannot create a new backup.
A previous backup already exists in refs/original/
Force overwriting the backup with -f

Вам нужно запустить

git update-ref -d refs/original/refs/heads/master

Затем вы можете запустить команду git filter-branch

Надеюсь, это поможет вам