2016-06-24 4 views
0

私のリポジトリのgit cloneを行うことは苦痛です。 700MBが圧縮されているので、本当にクリーンアップが必要ですが、なぜ私の.gitフォルダは少なくとも1GBのサイズですか?どうすれば減らすことができますか?gitクローン中のGitフォルダは1GBです。どのように私はそれをきれいにするのですか?

現在、このリポジトリには165のブランチと13,478のコミットがあります。私たちのチームの約10人がそれを維持しています。私はthisガイドについて読んだことがありますが、私は実際にこれらの行動の影響や、実行後の同僚の設定にどのように影響するか理解していません。助けてください。ありがとうございました。

+0

'git gc'をまだ実行しましたか? – o11c

答えて

1

このガイドでは、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> 
関連する問題