我有一个git存储库的项目,在该项目中我有一些克隆的git存储库。
目录结构是这样的。
main-project
-other_project (cloned git repository)
-another_project (cloned git repository)
当我尝试将主项目克隆到另一个系统时,它只有other_project和another_project的空目录。
我知道我应该首先使用git submodule
添加这些存储库。既然我没有,是否有办法解决我所造成的混乱局面?
里面有大约15个存储库(应该是子模块),因此非常感谢将所有这些存储库“批量转换”为子模块的方法。
答案 0 :(得分:1)
你需要创建一个类似于“How to do a bash foreach csv field to 'git submodule add'”的脚本,除了对于每个嵌套的repo,你需要提取上游repo url(git remote origin
)
然后添加由父{2}}创建的.gitmodules
文件,然后提交。
您将能够"submodule add
"(使用--recursive
选项)您的父级回购,并取回所有这些子模块。
答案 1 :(得分:0)
您也可以执行git submodule add ./path/to/subdirectory ./path/to/subdirectory
,它会将存储库添加为子模块,但使用不正确的原始网址。然后,您可以手动编辑.git/config
并使用正确的网址(即您克隆的网址)替换网址。