关于git:使用另一个项目中的.gitmodules

Use a .gitmodules from another project

本问题已经有最佳答案,请猛点这里访问。

所以我有一个项目"新项目",它需要与另一个项目"旧项目"相同的子模块。

因为我不想在newproject中手动执行以下操作git submodule add [email protected]:my-submodule.git

我希望有一种方法可以重新使用旧项目中的.gitmodules文件。

以下是我目前的尝试:

  • cp OldProject/.gitmodules NewProject/.gitmodules->好(wouaw)
  • git submodule init->无
  • git submodule update->无
  • git submodule update --init->无
  • git submodule sync->无
  • git submodule update --init --recursive->无

我见过无数人试图更改子模块的URL(或名称)的问题,但我不认为这是相似的,新的因素是新的项目git存储库是普通的(没有.git/modules)。

你认为有什么方法可以达到我的目的吗?如果是的话,我怎么能做到呢?


TL;DR;

不可能->通过脚本解决

细节

你的问题是缺少git submodule add电话。这是将子模块配置添加到您的.git/config文件,在.git/modules中为子模块创建文件夹,在.gitmodules中添加子模块条目,并在存储库中创建将签出子模块的文件夹。在没有添加子模块之前,我找不到初始化它的方法。即使复制文件夹、config条目和.gitmodule文件,任何initupdate调用也会失败。

回答你的问题:我认为没有办法跳过submodule add调用,只需重用你的.gitmodules文件。

编辑:顺便说一下,即使是新初始化的git存储库也有一个.git/config文件。

edit2:为什么不打git submodule add