2013-09-29 10 views
6

Próbowałem wprowadzić zmiany w mojej aplikacji i otrzymałem błąd, że dziennik wywołań był zbyt duży na 512 MB. Usunąłem plik dziennika dla programistów i spróbowałem ponownie, a ten sam błąd pojawił się przy rozmiarze dziennika 103,2 MB. Próbowałem też rake log:clear z tym samym błędem.Plik dziennika rozwoju przekracza limit rozmiaru pliku GitHub, nawet po usunięciu pliku

Wygląda na to, że plik dziennika dla programistów jest ponownie zapisywany. Nigdy nie korzystałem z dzienników i prawdopodobnie nie zabrakłoby im ... czy istnieje sposób, aby zobowiązać się do git, a nie przepisać dziennik programowania?

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 

Aktualizacja po wypróbowaniu sugestii odpowiedzi 1 i 2 poniżej:

Problem nadal istnieje. Usunąłem plik dziennika z repozytorium git i mojego komputera lokalnego, wstawiłem plik .gitignore i zaktualizowałem program development.rb za pomocą bitu konfiguratora. Ostatnie dwa wiersze poniżej pokazują, że plik development.log nie istnieje w git lub na moim lokalnym komputerze.

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

miałem wcześniej zobowiązuje który nadal miał dziennika plik/development.log. Za pomocą tego kodu dostarczonego przez wybraną odpowiedź poniżej (ogromne dzięki tej osoby), problem został rozwiązany z jednym małym zastrzeżeniem:

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

Zastrzeżenie to, że musiałem użyć git push origin +master zastąpić git jest automatyczne odrzucenie nie- szybkie aktualizacje. Czułem się komfortowo robiąc to, ponieważ jestem jedyną osobą pracującą nad tą aplikacją. Zobacz na to pytanie:

Git non-fast-forward rejected

Odpowiedz

7

Wydaje zostały wcześniej dodane/odprawy w pliku do repo git development.log.

Musisz go usunąć i dokonać zatwierdzenia.

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

W ogóle, należy umieścić katalog dziennika do pliku .gitignore

echo log >> .gitignore 

I całkowicie usunąć wszystkie pliki dzienników (w przypadku innych dodano)

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

Github niedawno zaczął egzekwować limit 100 MB dla maksymalnych rozmiarów plików. https://help.github.com/articles/working-with-large-files

Edit:

Wydaje masz wcześniejsze rewizje, które nie zostały zepchnięte do GitHub lokalnie.

Spróbuj uruchomić

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

+1, to jest rzecz, którą należy zrobić, aby pozbyć się pliku z repozytorium, rozważ sprawdzanie mojej odpowiedzi, aby przestać zapełniać ten plik – apneadiving

+0

Dziękuję za odpowiedzi. Próbowałem tego wszystkiego, ale wciąż otrzymuję ten sam błąd. Jakieś inne myśli? – tbone

+0

@tbone Sprawdź ten link http://stackoverflow.com/questions/17382375/github-file-size-limit-changed-6-18-13-cant-push-now/17415982#17415982 –

3

Side odpowiedzi, aby zapobiec plik rozszerzyć na własnym dysku, wystarczy zalogować się do STDOUT w development.rb:

config.logger = Logger.new(STDOUT) 

Będziesz przechowywać logi na swojej stronie serwera ale plik nie będzie już wypełniony.

+0

Dzięki za tę sugestię, bardzo doceniamy. – tbone

+0

Miałem problem z , które nie drukowało dzienników na standardowe wyjście, gdy uruchamiałem serwer szyny. Upuszczenie tej linii do .rb pomogło. Dzięki. Ale dzienniki są w pliku logów i na standardowe wyjście. Co mi nie przeszkadza, ale chciałem wskazać. Korzystanie z szyn 5 –

Powiązane problemy