web-dev-qa-db-ja.com

gitリポジトリサイズを縮小する

レポジトリサイズの削減に関する優れたチュートリアルを探しましたが、見つかりませんでした。リポジトリサイズを縮小するにはどうすればよいですか...約10 MBですが、Herokuで許可されているのは50 MBのみであり、アプリの開発はどこまでも完了していません。

通常の容疑者(ログ、ベンダー、ドキュメントなど)を.gitignoreに追加しました。最近は.gitignoreを追加しただけですが。

助言がありますか?

246
sent-hil

git gc --aggressive は、Pruneプロセスを強制的に実行する1つの方法です(確実にgit gc --aggressive --Prune=now)。 他のコマンド を使用して、リポジトリも消去します。ただし、git gcだけでも リポジトリのサイズを大きくする

また、filter-branchの後に使用して、いくつかのディレクトリを履歴から削除するようにマークすることもできます(さらにスペースを増やします)。 here を参照してください。しかし、それは誰もあなたの公開リポジトリからプルしていないことを意味します。 filter-branchはバックアップ参照を.git/refs/originalに保持できます なので、そのディレクトリもクリーンアップできます。

最後に、前述のように このコメントで および この質問 ; reflogのクリーニングは次の場合に役立ちます。

git reflog expire --all --expire=now
git gc --Prune=now --aggressive

より完全で、おそらく危険な解決策は gitリポジトリから未使用のオブジェクトを削除する です。

304
VonC

返信いただきありがとうございます。私がやったことは次のとおりです。

git gc
git gc --aggressive
git Prune

これでうまくいったようです。私は約10.5MBから始めましたが、現在は980KBに過ぎません。

84
sent-hil