首页 > 解决方案 > git submodule shallow 下载一切

问题描述

我最近将 svn 存储库的两个目录迁移到了本地托管的 gitlab。一个是单个应用程序(我们称之为 app1),具有线性历史记录和“少量”提交(低于 100 次)。

但第二个是“核心”,历史很长,提交很多,大约有 10 个标签。

在使用 svn 时,我刚刚下载了整个存储库,其中有 /apps/app1/ 和 /apps/shared/core/,并且我刚刚从我的应用程序链接到 ../shared/core/tags/tag20160101。

现在,我想使用 git 来节省时间和空间。我已经使用 svn2git 成功地将“app1”和“core”迁移到了 gitlab。我删除了我用来迁移的两个本地存储库,并克隆了“app1”并执行了

git submodule add ../core.git submodules/core --depth=1 -b tag20160101

现在的问题是,虽然 submodules/core 目录的大小约为 300MB(仅为 20160101 标签的大小),但主存储库中的 .git 目录却增加到 4GB。它只是下载了所有内容。

我做错了什么还是有办法只下载有用的标签来节省空间?

可能有一段时间我正在处理 5 个不同的项目,每个项目都包括不同标签上的“核心”,我不想为每个项目下载 4GB 不需要的文件。

标签: gittagssizebranchgit-submodules

解决方案


推荐阅读