レポのサイズを小さくするための優れたチュートリアルを探してみましたが、何も見つかりませんでした。レポのサイズを減らすにはどうすればよいですか...約 10 MB ですが、Heroku では 50 MB しか許可されておらず、アプリの開発はまだ終わっていません。
通常の容疑者(ログ、ベンダー、ドキュメントなど)を.gitignoreに追加しました。最近 .gitignore を追加しただけですが。
助言がありますか?
11 年後の 2021 年 2 月の更新: 新しいgit maintenance
コマンド( man ページ) が優先されgit gc
、スケジュールすることができます。
Original:git gc --aggressive
は、プルーニング プロセスを強制的に実行する 1 つの方法です (念のため: git gc --aggressive --prune=now
)。レポをきれいにする他のコマンドもあります。git gc
ただし、単独でリポジトリのサイズが大きくなる場合があることを忘れないでください。
, の後に使用してfilter-branch
、履歴から削除するディレクトリをマークすることもできます (さらにスペースを確保します)。ここを参照 してください。しかし、それは誰もあなたの公開レポから引き出していないことを意味します. ディレクトリもクリーンアップできるようfilter-branch
に、バックアップ参照を に保持できます。.git/refs/original
最後に、このコメントとこの質問で述べたように; reflog をクリーニングすると、次のことができます。
git reflog expire --all --expire=now
git gc --prune=now --aggressive
さらに完全で、おそらく危険な解決策は、未使用のオブジェクトを git リポジトリから削除することです。
返信ありがとうございます。これが私がしたことです:
git gc
git gc --aggressive
git prune
それでうまくいったようです。最初は約10.5MBでしたが、現在は980KB強です。
私の場合、いくつかの大きな (> 100Mb) ファイルをプッシュしてから、それらを削除しました。しかし、それらはまだ私のレポの履歴にあったため、レポからも削除する必要がありました。
トリックは何でしたか:
bfg -b 100M # To remove all blobs from history, whose size is superior to 100Mb
git reflog expire --expire=now --all
git gc --prune=now --aggressive
次に、ブランチに力を加える必要があります。
git push origin <your_branch_name> --force
注: bfgは、brew を使用して Linux および macOS にインストールできるツールです。
brew install bfg