git克隆期间Git文件夹为1GB。我该如何清理?

时间:2016-06-24 01:58:38

标签: git

执行我的存储库的git clone是一件痛苦的事。虽然它真的需要清理,因为它的700MB压缩,为什么我的.git文件夹的大小至少为1GB?我该如何减少它?

目前,此存储库有165个分支和13,478个提交。我们团队中约有10人维护它。我已经阅读了this指南,但我真的不了解这些行为的影响,或者它会如何影响我的同事和#39;}'}执行后设置。请帮忙。谢谢。

1 个答案:

答案 0 :(得分:1)

该指南介绍了如何从git仓库中查找和删除不需要的文件。如果您没有git repo跟踪的任何不必要的文件,本指南帮助不大。

如果您需要经常克隆和删除并重新克隆repo,或者如果需要制作repo的多个克隆,则可以先进行镜像克隆。

#make a mirror
git clone <url> --mirror -- <local_folder>

#make the clone for work
git clone <url> -b <branch> --reference=<path_of_mirror>

这种方式可以节省大量的时间和空间。您可以比较通过镜像克隆的repo中的.git大小和不通过镜像克隆的repo大小。当然镜子本身占用了相当大的空间,但在这种情况下它是值得的。您可以设置crontab作业,以便在必要时通过git fetch更新镜像。

如果您只使用特定的已发布分支,即使没有镜像,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>