所以我有一个项目" 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
)。
那么你认为有办法做我想做的事吗? 如果是的话,我怎么能实现呢?
答案 0 :(得分:0)
不可能 - >解决方法via script
您的问题是缺少git submodule add
电话。这是将子模块配置添加到.git/config
文件,在.git/modules
中为子模块创建文件夹,将子模块条目添加到.gitmodules
并在存储库中创建子模块的文件夹将被签出。我没有找到一种方法来初始化一个子模块而没有添加它。即使您复制文件夹,config
条目和.gitmodule
文件,任何init
或update
来电都会失败。
回答您的问题:我认为没有办法跳过submodule add
来电,只是重复使用.gitmodules
文件。
编辑:顺便说一下,即使是新初始化的git存储库也有一个.git/config
文件。
EDIT2:避免调用git submodule add
的原因究竟是什么?