2

我有一个项目,它是一个 git 存储库,在该项目中我有一些克隆的 git 存储库。

目录结构是这样的。

main-project
    -other_project (cloned git repository)
    -another_project (cloned git repository)

当我试图将主项目克隆到另一个系统时,它只有 other_project 和 another_project 的空目录。

我知道我应该一开始git submodule就添加这些存储库。既然我没有,有什么办法可以解决我造成的混乱吗?

里面大约有 15 个存储库(应该是子模块),因此非常感谢一种将所有这些存储库“批量转换”为子模块的方法。

4

2 回答 2

1

您需要创建一个脚本,有点像“如何为 'git submodule add' 执行 bash foreach csv 字段”中的内容,但对于每个嵌套的 repo,您​​需要提取上游 repo url ( git remote origin)

然后添加那些.gitmodules 在您的父仓库中创建的文件,然后提交。submodule add

您将能够克隆(使用--recursive选项)您的父仓库,并取回所有这些子模块。

于 2013-01-28T07:59:44.667 回答
1

您也可以这样做git submodule add ./path/to/subdirectory ./path/to/subdirectory,这会将存储库添加为子模块,但原始 url 不正确。然后,您可以手动编辑.git/config并用正确的 url 替换 url(即您克隆的那些)。

于 2013-05-04T23:05:07.623 回答