2013-09-29 12 views
6

私のアプリでいくつかの変更をコミットしようとしましたが、開発ログが512MBで大きすぎるというエラーを受け取りました。私は、開発ログファイルを削除して再試行し、同じエラーが103.2MBのログサイズで表示されました。私も同じエラーで​​を試しました。ファイルを削除した後でも、開発ログファイルが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 

解答1及び下記2からの提案をしようとした後、更新:

問題がまだ存在します。 gitリポジトリからログファイルを削除し、ローカルマシンに.gitignoreファイルを挿入し、config.logbビットを使ってdevelopment.rbを更新しました。以下の最後の2行は、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のの自動拒否を上書きするgit push origin +masterを使用しなければならなかったということです早送り更新。私はこのアプリで働いている唯一の人であるため、私はこれをやって快適でした。この質問を参照してください:あなたが先にチェックインされたGitのレポにあなたdevelopment.logファイル/追加したようだ

Git non-fast-forward rejected

答えて

7

これを削除してコミットする必要があります。一般的に

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

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

、あなたの.gitignoreファイル

echo log >> .gitignore 

にあなたのログディレクトリを置く必要があり、完全に(追加された場合の他に)すべてのログファイルを削除しますGithubは最近、最大ファイルサイズを100MBに制限し始めました。 https://help.github.com/articles/working-with-large-files

編集:

あなたがローカルにgithubのにプッシュされていなかった以前のコミットをしているようです。

は単にdevelopment.rbSTDOUTにログインし、ご自身のディスクに展開するファイルを防ぐために

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

サイドの回答を実行してみましょう:

config.logger = Logger.new(STDOUT) 

あなたのサーバーページにログしておこう、ファイルはそれ以上埋め込まれません。

+0

この提案をありがとう、非常に感謝します。 – tbone

+0

<私は別の環境>で、レールサーバーを起動しているときにログをstdoutに出力しなかったという問題がありました。その行を<別の環境> .rbにドロップすると助けになりました。ありがとう。 しかし、ログはログファイルと標準出力にあります。私は気にしないが、指摘したい。レールの使用5 –

関連する問題