Git以递归方式将所有存储库添加到特定路径下作为子模块

时间:2014-04-24 04:32:41

标签: git

如何将刚刚初始化的git存储库中的所有子存储库添加为子模块?

我有两个存储库,我一直在跟踪,现在我想将它们带入一个更大的项目,但仍然保留它们各自的起源。

我目前只做了git init

另外,如果可能的话:

  • 暂时不删除任​​何目录
  • 不使用bash脚本

1 个答案:

答案 0 :(得分:1)

您可以尝试以下内容:

find . -maxdepth 1 -type d -exec git submodule add ./{} \;

对于常规文件夹应该会失败,并且对于刚刚初始化的主仓库中嵌套git仓库的文件夹成功。

添加后,您需要在主回购中提交,以便记录您刚创建的所有gitlinks(使用submodule add)。

请注意,您刚刚添加了to update the url of those submodules(因为他们当前的网址是他们自己的文件夹)