Git lfs - " это превышает ограничение размера файла GitHub в 100.00 MB"
у меня есть некоторые csv-файлы, которые больше, чем ограничение размера файла github 100.00 MB. Я пытался использовать расширение Git Large file Storage.
из LFS -"Large file versioning- Version large files—even those as large as a couple GB in size—with Git."
я применил следующее к папкам, вызывающим озабоченность:
git lfs track "*.csv"
однако, когда я нажимаю:
remote: error: File Time-Delay-ftn/Raw-count-data-minor-roads1.csv is 445.93 MB; this exceeds GitHub's file size limit of 100.00 MB
remote: error: File Time-Delay-ftn/Raw-count-data-major-roads.csv is 295.42 MB; this exceeds GitHub's file size limit of 100.00 MB
когда я смотрю на папку, о которой идет речь:
-rw-r----- 1 user staff 42B 23 Oct 12:34 .gitattributes
-rw-r--r-- 1 user staff 1.3K 19 Oct 14:32 DfT_raw_major_manipulation.py
-rw-r--r-- 1 user staff 1.2K 16 Oct 15:08 DfT_raw_minor_manipulation.py
drwxr-xr-x 21 user staff 714B 22 Oct 11:35 Driving/
-rwxr-xr-x@ 1 user staff 295M 19 Oct 14:47 Raw-count-data-major-roads1.csv*
-rwxr-xr-x@ 1 user staff 446M 16 Oct 14:52 Raw-count-data-minor-roads1.csv*
когда я ВИМ в .файл gitattributes вы можете увидеть настройку lfs:
*.csv filter=lfs diff=lfs merge=lfs -text
что я делаю не так?
обновление
когда я запрос
git lfs ls-files
Я ничего не получил. Это говорит о том, что несмотря ни на что .фильтр csv успешно применяется к.gitattributes файл csv-файлы не подбираются lfs
4 ответов
простое добавление конфигурации git-lfs в существующий репозиторий не приведет к обратному преобразованию больших файлов в поддержку LFS. Эти большие файлы останутся в вашей истории, и GitHub откажется от ваших толчков.
вам нужно переписать историю, чтобы ввести git-lfs в существующие коммиты. Я рекомендую инструмент BFG repo cleaner, который добавлена поддержка LFS недавно.
вы должны иметь возможность конвертировать историческое использование ваших файлов CSV by:
$ java -jar ~/bfg-1.12.5.jar --convert-to-git-lfs '*.csv' --no-blob-protection
вчера я столкнулся с той же проблемой и взломал ее. Я не смог нажать, и оказалось, что ни один из моих больших файлов не был в lfs.
вероятно, есть лучший способ, но это сработало для меня. У меня большое РЕПО с 2,5 гигабайтами данных.
Я устанавливаю новое РЕПО, а затем устанавливаю в нем lfs.
git lfs init
затем я настроил различные типы файлов
git lfs track "*.pdb"
git lfs track "*.dll"
Тогда я commmited мои изменения и толкнул.
затем я добавил свои большие файлы. Я использовал, конечно, и в в выходных заметках он будет указывать для больших файлов, соответствующих моим подстановочным знакам, что вместо этого он выделяет крошечный txt-файл. (извините, я не записывал их, но это должно быть очевидно).
затем я нажал, и я увидел "пропуск файлов", и толчок быстро удался.
таким образом, проблема, вероятно, пытается добавить файлы в lfs, которые уже есть в вашей истории. Вы можете добавлять только новые файлы. Вероятно, вы можете очистить свое РЕПО от этих файлов.
Примечание: я нашел, что вполне несколько файлов, которые соответствовали моим подстановочным знакам, не были подобраны lfs. Подобраны похожие файлы в разных папках, но не все. Я попытался явно добавить эти файлы, используя полный путь.
git lfs track "Windows/bin/myBigFile.dll"
но это не помогло. В конце концов я сдался из-за нехватки времени.
вы также должны проверить свой лимит хранения с помощью gitHub. Я купил дополнительные 50gig, чтобы покрыть мои требования.
клонирование РЕПО теперь загружает файлы отдельно, и все, наконец, хорошо работает.
У меня была эта ошибка:
remote: error: File client/static/static-version / 20171221_221446.psd-223.61 MB; это превышает ограничение размера файла GitHub в 100.00 MB
и потому что я уже удалил этот файл из этой папки, созданные .gitignore файл и пытался совершить пару раз, я не знал, что он был кэширован, я не мог нажать на github. В моем случае помогло:
фильтр-ветку в Git --индекс-фильтр ГИТ РМ --кэшированные -- ignore-unmatch client / статический / статический-версия / 20171221_221446.psd'
где я разместил полный путь к файлу (от ошибки выше), чтобы удалить его из кэша. После этого толчок был сделан успешно