如何在`git clone`之前获取版本库的git子模块列表?

时间:2019-01-01 11:06:48

标签: git git-submodules

在尝试执行克隆之前,我试图获取存储库的子模块列表。

然后选择要克隆的子模块回购。

有什么办法吗?

1 个答案:

答案 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…