.gitmodules选项忽略子模块中的子模块
我有一个git存储库,其子模块的层次结构类似于:.gitmodules选项忽略子模块中的子模块,git,configuration,git-submodules,Git,Configuration,Git Submodules,我有一个git存储库,其子模块的层次结构类似于: TopLevelRepo +-.gitmodules#这是我想要配置的地方 +-外部 +-RepoA#这是第三方存储库,我无法修改它 |+-外部 |+-RepoB#此存储库不是必需的,而且非常大 |+-RepoC#此存储库是必需的 +-报告 +-几十个以上的存储库 我克隆存储库的方式如下: git克隆——递归https://github.com/TopLevelRepo 顶级回购 #或 git克隆https://github.com/TopLe
TopLevelRepo
+-.gitmodules#这是我想要配置的地方
+-外部
+-RepoA#这是第三方存储库,我无法修改它
|+-外部
|+-RepoB#此存储库不是必需的,而且非常大
|+-RepoC#此存储库是必需的
+-报告
+-几十个以上的存储库
我克隆存储库的方式如下:
git克隆——递归https://github.com/TopLevelRepo 顶级回购
#或
git克隆https://github.com/TopLevelRepo 顶级回购
cd TopLevelRepo
git子模块更新--init--递归
是否有一个选项可以添加到.gitmodules(或签入存储库的任何其他文件)中,允许我跳过(避免克隆)RepoB,但保留RepoC
我已经找到了这个:
这显然是我想要的,但我需要它存储在顶级存储库中
谢谢。不,顶级超级项目无法管理子模块,只有直接上级可以。试着这样做:
git clone https://github.com/TopLevelRepo TopLevelRepo
cd TopLevelRepo
git submodules update --init RepoA
cd RepoA
git config submodule.RepoB.update none
cd ../.. # back to TopLevelRepo
git submodules update --init --recursive
或者
git-C RepoA config submodule.RepoB.update none
。