2013-09-29 1 views
6

Я попытался внести некоторые изменения в свое приложение и получил сообщение об ошибке, что журнал разработки был слишком большим на 512 МБ. Я удалил файл журнала разработки и попытался снова, и та же ошибка появилась с размером журнала 103.2MB. Я также пробовал rake log:clear с той же ошибкой.Файл журнала разработки превышает лимит размера файла GitHub, даже после удаления файла

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

2 files changed, 0 insertions(+), 1096498 deletions(-) 
rewrite log/development.log (100%) 
rewrite log/production.log (100%) 
[master]~/Projects/schoolsapi: git push origin master 
Username: 
Password: 
Counting objects: 26, done. 
Delta compression using up to 2 threads. 
Compressing objects: 100% (15/15), done. 
Writing objects: 100% (17/17), 6.90 MiB | 322 KiB/s, done. 
Total 17 (delta 7), reused 0 (delta 0) 
remote: Error code: 026c4e06d174bf5b0e51c754dc9459b0 
remote: warning: Error GH413: Large files detected. 
remote: warning: See http://git.io/iEPt8g for more information. 
remote: error: File log/development.log is 103.32 MB; this exceeds GitHub's file size limit of 100 MB 

Update после попытки предложения из ответов 1 и 2 ниже:

проблема все еще существует. Я удалил файл журнала из git repo, а мой локальный компьютер вставил файл .gitignore и обновил development.rb с битом config logger. Последние две строки ниже показывают, что файл development.log не существует в git или моей локальной машине.

master]~/Projects/schoolsapi: git add . 
[master]~/Projects/schoolsapi: git commit -m"Tried config logger per apnea diving" 
[master b83b259] Tried config logger per apnea diving 
2 files changed, 4 insertions(+), 0 deletions(-) 
create mode 100644 .gitignore 
[master]~/Projects/schoolsapi: git push origin master 
Username: 
Password: 
Counting objects: 38, done. 
Delta compression using up to 2 threads. 
Compressing objects: 100% (23/23), done. 
Writing objects: 100% (26/26), 6.90 MiB | 525 KiB/s, done. 
Total 26 (delta 12), reused 0 (delta 0) 
remote: Error code: e69d138ee720f7bcb8112e0e7ec03470 
remote: warning: Error GH413: Large files detected. 
remote: warning: See http://git.io/iEPt8g for more information. 
remote: error: File log/development.log is 103.32 MB; this exceeds GitHub's file size limit of 100 MB 
[master]~/Projects/schoolsapi: rm log/development.log 
rm: log/development.log: No such file or directory 
[master]~/Projects/schoolsapi: git rm log/development.log 
fatal: pathspec 'log/development.log' did not match any files 
[master]~/Projects/schoolsapi: 

UPDATE

я был раньше, обязан который до сих пор имел журнал/development.log файл. Используя этот код, предоставленный выбранный ответ ниже (огромное спасибо этому человеку), то проблема была решена с одной небольшой оговоркой:

git filter-branch --index-filter 'git rm --cached --ignore-unmatch log/development.log' --tag-name-filter cat -- --all 

Проблема заключается в том, что я должен был использовать git push origin +master, чтобы отменить автоматический отказ GIT по не- ускоренная перемотка вперед-обновления. Мне было удобно это делать, потому что я единственный человек, работающий над этим приложением. Смотрите этот вопрос:

Git non-fast-forward rejected

ответ

7

Кажется, вы ранее добавленным/зарегистрированным в вашем development.log файла в мерзавца репо.

Вам необходимо удалить его и совершить фиксацию.

git rm log/development.log 
git commit -m "removed log file" 

В общем, вы должны поместить ваш каталог журнала в файл .gitignore

echo log >> .gitignore 

И чтобы полностью удалить все файлы журналов (в случае, если другие были добавлены)

git rm -r --cached log 
git commit -m "removed log file" 

Недавно Github начал применять ограничение на 100 МБ для максимальных размеров файлов. https://help.github.com/articles/working-with-large-files

Edit:

Кажется, у вас есть предыдущие коммиты, которые не были сдвинуты на GitHub локально.

Попробуйте запустить

git filter-branch --index-filter 'git rm --cached --ignore-unmatch log/development.log' --tag-name-filter cat -- --all 
+1

+1, это то, что нужно сделать, чтобы избавиться от файла в вашем репо, подумайте о том, чтобы проверить мой ответ, чтобы он не заполнил этот файл. – apneadiving

+0

Большое спасибо за ответы. Я попробовал все это, но все равно получаю ту же ошибку. Любые другие мысли? – tbone

+0

@tbone Проверьте эту ссылку http://stackoverflow.com/questions/17382375/github-file-size-limit-changed-6-18-13-cant-push-now/17415982#17415982 –

3

Боковой ответ, чтобы предотвратить файл расширить на собственном диске, просто войти в STDOUT в development.rb:

config.logger = Logger.new(STDOUT) 

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

+0

Спасибо за это предложение, очень ценю. – tbone

+0

У меня возникла проблема с <другой средой>, которая не печатала журналы на stdout при запуске сервера rails. Отбрасывание этой строки в <другую среду> .rb помогло. Благодарю. Но журналы находятся в файле журналов и в стандартном режиме. Который я не против, но хотел бы указать. Использование рельсов 5 –

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