在尝试执行克隆之前,我试图获取存储库的子模块列表。
然后选择要克隆的子模块回购。
有什么办法吗?
答案 0 :(得分:2)
如果您要查看第一级子模块的列表,而无需从超级项目中克隆超级项目下载文件.gitmodules
。您可以使用git archive
:
git archive --format=tar --remote=$ORIGIN_URL HEAD -- .gitmodules | tar -O -xf -
由于子模块可能是递归的,因此您必须对下载的.gitmodules
中找到的每个子模块重复此操作。
之后,您可以手动克隆任何子模块的存储库。
克隆超级项目后,您可能还想查看子模块列表。首先,克隆时不包含子模块:
git clone $ORIGIN_URL # Don't use `--recursive`
cd <repo_dir>
git submodule init
cat .gitmodules
git submodule update submodule1 submodule2…