2013-09-29 15 views
6

Ho provato a salvare alcune modifiche nella mia app e ho ricevuto un errore che il log di sviluppo era troppo grande a 512 MB. Ho cancellato il file di log dello sviluppo e ho provato di nuovo, e lo stesso errore si presentava con una dimensione di registro di 103.2 MB. Ho anche provato rake log:clear con lo stesso errore.Il file di log di sviluppo supera il limite di dimensione del file di GitHub, anche dopo l'eliminazione del file

Apparentemente il file di log di sviluppo viene riscritto. Non ho mai usato i log e probabilmente non mi mancano ... c'è un modo per impegnarsi a git e non riscrivere il log di sviluppo?

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 

aggiornamento dopo aver provato i suggerimenti da risposte 1 e 2 qui sotto:

il problema esiste ancora. Ho rimosso il file di registro dal repository git e il mio computer locale, inserito il file .gitignore e aggiornato development.rb con il bit del logger di configurazione. Le ultime due righe seguenti mostrano che il file development.log non esiste in git o nella mia macchina locale.

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

ho avuto in precedenza impegna che aveva ancora il file di log/development.log. L'utilizzo di questo codice fornito dalla risposta selezionato sotto (grazie enorme a questa persona), il problema è stato risolto con una piccola avvertenza:

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

L'avvertenza è che ho dovuto usare git push origin +master per ignorare rifiuto automatico di git di non aggiornamenti fast-forward-. Mi è stato comodo farlo perché sono l'unica persona che lavora su questa app. Vedere questa domanda:

Git non-fast-forward rejected

risposta

7

Sembra che hai precedentemente aggiunto/check-in tuo development.log file nella repo git.

È necessario rimuoverlo e eseguire un commit.

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

In generale, si dovrebbe mettere la vostra directory di registro nel file .gitignore

echo log >> .gitignore 

E per rimuovere completamente tutti i file di log (nel caso in cui gli altri sono stati aggiunti)

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

Recentemente Github ha iniziato a imporre un limite di 100 MB per le dimensioni massime dei file. https://help.github.com/articles/working-with-large-files

Edit:

Sembra avete impegna precedenti che non sono stati spinti a Github localmente.

provare a eseguire risposta

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

+1, questa è la cosa da fare per sbarazzarsi del file nel repository, in considerazione di controllare la mia risposta per fermare per evitare che questo file venga popolato – apneadiving

+0

Grazie mille per le risposte. Ho provato tutto questo, ma ottenendo sempre lo stesso errore. Qualche altro pensiero? – tbone

+0

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

3

laterale per evitare che il file di espandersi sul proprio disco, è sufficiente accedere al STDOUT in development.rb:

config.logger = Logger.new(STDOUT) 

Potrai mantenere i log del server sulla tua pagina, ma il file non verrà più popolato.

+0

Grazie per questo suggerimento, molto apprezzato. – tbone

+0

Ho avuto un problema con che non ha stampato i registri sullo stdout quando stavo iniziando il server delle guide. Eliminare quella linea in .rb ha aiutato. Grazie. Ma i log sono nel file di log e in stdout. Quale non mi dispiace, ma volevo sottolineare. Usare le rotaie 5 –

Problemi correlati