2015-10-25 3 views
15

У меня есть некоторые файлы csv, размер которых превышает размер файла github размером 100.00 МБ. Я пытался использовать расширение Git Large File Storage.Git lfs - «это превышает предел размера файла GitHub 100,00 МБ»

https://git-lfs.github.com/

От 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/ 
[email protected] 1 user staff 295M 19 Oct 14:47 Raw-count-data-major-roads1.csv* 
[email protected] 1 user staff 446M 16 Oct 14:52 Raw-count-data-minor-roads1.csv* 

когда я VIM в .gitattributes файл, который вы можете увидеть настройки LFS:

*.csv filter=lfs diff=lfs merge=lfs -text 

Что я делаю неправильно?

UPDATE

Когда я запрашиваю

git lfs ls-files 

я ничего не вернулся. Это указывает на то, что несмотря на то, что фильтр .csv успешно применяется к файлу .gitattributes, файлы csv не подхватываются lfs

+0

«Вам не удастся нажать файлы размером более 100 МБ». - [GitHub.com on * Работа с большими файлами *] (https://help.github.com/articles/working-with-large-files /) – Gumbo

+3

Не могли бы вы их zip или что-то вместо этого уменьшить размер? – Henry

+2

@ Gumbo В этом документе также говорится: «Рассмотрите возможность использования Git Large File Storage (Git LFS)». Похоже, это то, о чем просили. Следуя этой ссылке, в документах говорится: «Это идеальное решение для перетаскивания файлов в GitHub размером более 100 МБ» – natb1

ответ

13

Простое добавление конфигурации GIT-LFS в существующее хранилище не будет задним числом конвертировать ваши большие файлы поддержки LFS. Эти большие файлы останутся в вашей истории, и GitHub откажется от ваших нажатий.

Вам необходимо переписать свою историю, чтобы ввести git-lfs в ваши существующие коммиты. Я рекомендую инструмент для очистки репозитория BFG, который недавно был added LFS support.

Вы должны быть в состоянии преобразовать историю использования ваших файлов CSV по:

$ java -jar ~/bfg-1.12.5.jar --convert-to-git-lfs '*.csv' --no-blob-protection 
+0

спасибо! в самом деле. Тем не менее, мне не очень повезло с bfg. Я сделал brew install bfg. Я проверил путь к файлу, но я получаю сообщение об ошибке: невозможно получить доступ к jarfile /usr/local/cellar/bfg-1.12.5.jar – LearningSlowly

+1

@LearningSlowly - я не знаком с варкой. Я бы подумал, что вам нужно будет только загрузить банку из GitHub и запустить ее в соответствии с инструкциями. –

+0

У меня есть еще одна проблема - но это определенно решило проблему, которую я здесь! Большое спасибо – LearningSlowly

-1

Похоже, что вы не инициализировали git-lfs. Попробуйте ввести

git lfs init 

Источник: Installing Git LFS

+0

Ницца. Я не имел. Однако ошибка сохраняется – LearningSlowly

+0

Попробуйте сделать новую фиксацию и нажмите еще раз – hombit

+0

Спасибо. Все еще борется. Когда я запускаю git lfs ls-files, он возвращается пустой – LearningSlowly

4

вчера я ударил с такой же проблемой и взломали. Я не смог нажать, и оказалось, что ни один из моих больших файлов не был в lfs.

Возможно, лучший способ, но это сработало для меня. У меня большое репо с 2,5 гигабайтами данных.

Я настраиваю новое репо, а затем устанавливаю в нем lfs. git lfs init

Затем я настроил мои различные типы файлов git lfs track "*.pdb" git lfs track "*.dll" Я тогда commmited моих изменений и толкнул.

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

Затем я нажал, и я увидел «пропуски файлов», и толчок быстро удался.

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

Примечание: я обнаружил, что довольно много файлов, которые соответствовали моим подстановочным знакам, не были подняты lfs. Подобные файлы в разных папках были подобраны, но не все. Я попытался явно добавить эти файлы, используя полный путь. git lfs track "Windows/bin/myBigFile.dll" , но это тоже не помогло. В итоге я отказался из-за временных ограничений.

Вы также должны проверить свой лимит хранения с помощью gitHub. Я купил дополнительные 50gig, чтобы покрыть мои требования.

Клонирование репо теперь загружает файлы отдельно, и все, наконец, хорошо работает.

+0

Спасибо! Жизнеспособное решение. Тем не менее, я думаю, что использование инструмента BFG - лучший способ продвижения вперед. Я оказался в той же лодке, хотя, должен был купить 50 ГБ;) – LearningSlowly

0

У меня была эта ошибка:

remote: error: File client/static/static-version/20171221_221446.psd is 223.61 MB; this exceeds GitHub's file size limit of 100.00 MB

И потому, что я уже удалил этот файл из этой папки, созданный .gitignore файл и попытался совершить пару раз, я не знал, что это было в кэше, я мог не нажимать на github. В моем случае помогло:

git filter-branch --index-filter 'git rm --cached --ignore-unmatch client/static/static-version/20171221_221446.psd'

Где я поместил полный путь к файлу (от ошибок выше), чтобы удалить его из кэша. После этого нажатие было успешно выполнено

Смежные вопросы