如何在git中克隆部分存储库以节省磁盘空间

时间:2014-01-09 04:57:22

标签: git

我有一个大型存储库,磁盘空间大约为5Gb。我只需要来自此存储库的少量文件夹,我就可以为这些文件夹进行稀疏检查。但.git文件夹的磁盘空间消耗仍为5GB。那么,有没有办法节省磁盘空间,只能克隆所需的文件夹或任何其他方式?

我的稀疏结账步骤:

git init
git config core.sparsecheckout true
touch .git/info/sparse-checkout
echo path/to/folder1 >> .git/info/sparse-checkout
echo path/to/folder2 >> .git/info/sparse-checkout
git remote add -f <branch name> <url>            <==taking too much memory here
git checkout <tag>

1 个答案:

答案 0 :(得分:1)

唯一的另一种方式(除了尝试使用激进的git gc减少.git大小之外)将是:

  • 将此文件夹隔离在专用分支中(在服务器端的git仓库中)
  • 将该分支推送到新的仓库(仍在服务器端)
  • 克隆新的仓库(在您的本地机器上)

这样,您正在处理一个中间仓库,它只包含您感兴趣的文件夹的分支历史。
然而,集成商可以克隆主仓库,获取第二个仓库(只有一个分支的仓库)并重新集成您在第二个仓库上发布的任何修改。