我有一个包含多个子模块的工作中的git存储库(通过克隆不同的存储库获取)。
现在,我想通过推送或克隆将整个存储库(包括所有子模块)复制到另一台计算机上的裸git存储库中。我可以放弃子模块的历史记录(只对它们的内容感兴趣)。
这是可能的吗?在我的尝试中,克隆的存储库中子模块目录为空。
P.S. 我知道这不是正确的工作流程(参见创建具有子模块的公共存储库),但没有更新原始子模块的可能性。
我有一个包含多个子模块的工作中的git存储库(通过克隆不同的存储库获取)。
现在,我想通过推送或克隆将整个存储库(包括所有子模块)复制到另一台计算机上的裸git存储库中。我可以放弃子模块的历史记录(只对它们的内容感兴趣)。
这是可能的吗?在我的尝试中,克隆的存储库中子模块目录为空。
P.S. 我知道这不是正确的工作流程(参见创建具有子模块的公共存储库),但没有更新原始子模块的可能性。
您可以使用以下命令以recursive
方式克隆带有所有子模块的git仓库:
git clone --recursive your-repo-url
另一方面,如果您已经克隆了,可以使用:
git submodule init
git submodule update
你的子模块中不会丢失任何历史记录
git submodule update --init --recursive
这样,您将看到这些子模块的内容。
请记住,子模块是:
.gitmodules
文件中声明的因此,您所需做的就是克隆该存储库(甚至可以使用--recursive
选项),然后子模块将跟随。