仅克隆那些属于另一个子模块的指定子模块
我的 Main 项目依赖于主子模块 MainSubmodule 下的子模块 NeededSubmodule,该子模块正在被完整克隆,包括它的所有子模块。
有没有办法在已知主子模块的标签为 MainSubmodule 的前提下,只克隆我需要的那个必要子模块 NeededSubmodule?
当前层级:
Main
├── MainSubmodule
│──├──NeededSubmodule
需要的层级:
Main
├── NeededSubmodule
解决方案
这是一种相当不寻常的工作流,但说实话,使用Git时,即便是半理性的“我可以……吗?”这类问题,其答案按定义就是“可以。”
基本上,要让Git不去做那些让常规工作流变得更快、更高效的事情,是需要付出努力的,因此你需要花时间对它说:“不,真的不行,只做这一个小小的部分。”
git fetch --filter=tree:1 --depth=1 --no-tags $(git config -f .gitmodules submodule.MainSubmodule.url) $maintag
git show FETCH_HEAD:.gitmodules >sub_gitmodules
git remote add subsub $(git config -f sub_gitmodules submodule.neededsubmodule.url)
从那时起,接下来你如何设置你那超精确的子子模块切片,将取决于问题中未给出的细节。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。