使用其他项目中的.gitmodules

时间:2017-03-09 10:02:45

标签: git git-submodules

所以我有一个项目" NewProject"需要与另一个项目相同的子模块" OldProject"。

因为我不想在NewProject中手动执行以下操作
 git submodule add git@gitlab.me:my-submodule.git

我希望有一种方法可以重用OldProject中的.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 - >没什么

我看到无数人试图更改子模块的网址(或名称),但我不认为这是相似的,新因素是NewProject git存储库是vanilla(没有.git/modules)。

那么你认为有办法做我想做的事吗? 如果是的话,我怎么能实现呢?

1 个答案:

答案 0 :(得分:0)

TL;博士;

不可能 - >解决方法via script

详细

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

回答您的问题:我认为没有办法跳过submodule add来电,只是重复使用.gitmodules文件。

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

EDIT2:避免调用git submodule add的原因究竟是什么?