このガイドでは、git repoから不要なファイルを見つけて削除する方法について説明します。あなたのgitリポジトリによって追跡される不要なファイルがない場合、このガイドはほとんど役に立ちません。
レポを頻繁に複製したり削除したり再クローンする必要がある場合、またはレポの複数のクローンを作成する必要がある場合は、最初にミラークローンを作成することができます。
#make a mirror
git clone <url> --mirror -- <local_folder>
#make the clone for work
git clone <url> -b <branch> --reference=<path_of_mirror>
この方法は、多くの時間とスペースを節約できます。ミラーを介して複製されたレポの.gitのサイズと、ミラーを経由せずに複製されたレポのサイズを比較することができます。もちろん、ミラー自体はかなりのスペースを必要としますが、この場合は価値があります。必要に応じて、git fetch
でミラーを更新するようにcrontabジョブを設定できます。
特定の発行済みブランチのみで作業している場合、git clone <url> -b branch --single-branch
は、ミラーがなくても時間とスペースを節約できます。しかし、--single-branchはv1.7.xの後のgitの機能ですので、必要に応じてgitをアップグレードする必要があります。古いバージョンでは--single-branchをサポートしていないので、代わりに次のcmdを使うことができます。
mkdir work
cd work
git init
git fetch <url> <branch>:<branch>
git checkout <branch>
'git gc'をまだ実行しましたか? – o11c