使用另一个项目中的 .gitmodules
Use a .gitmodules from another project
所以我有一个项目 "NewProject" 需要与另一个项目 "OldProject" 相同的子模块。
由于我不想在NewProject中手动进行以下操作
git submodule add git@gitlab.me:my-submodule.git
我希望有一种方法可以重新使用 OldProject
中的 .gitmodules
文件
这是我目前尝试的方法:
cp OldProject/.gitmodules NewProject/.gitmodules
-> 好的(哇哦)
git submodule init
-> 无
git submodule update
-> 无
git submodule update --init
-> 无
git submodule sync
-> 无
git submodule update --init --recursive
-> 无
我见过无数人试图更改其子模块的 url(或名称)的问题,但我认为这并不相似,新因素是NewProject git 存储库是原版的(没有 .git/modules
)。
那么你认为有办法实现我的意图吗?
如果是,我该如何实现?
tl;博士;
不可能 -> 解决方法 via script
详情
您的问题是缺少 git submodule add
电话。这就是将子模块配置添加到您的 .git/config
文件,在 .git/modules
中为您的子模块创建一个文件夹,将一个子模块条目添加到 .gitmodules
并在您的存储库中创建一个文件夹,其中子模块将被签出。如果之前没有添加,我找不到初始化子模块的方法。即使您复制文件夹、config
条目和 .gitmodule
文件,任何 init
或 update
调用也会失败。
回答您的问题:我认为没有办法跳过 submodule add
调用并重新使用您的 .gitmodules
文件。
编辑:顺便说一下,即使是新初始化的 git 存储库也有一个 .git/config
文件。
EDIT2:避免调用 git submodule add
的确切原因是什么?
所以我有一个项目 "NewProject" 需要与另一个项目 "OldProject" 相同的子模块。
由于我不想在NewProject中手动进行以下操作
git submodule add git@gitlab.me:my-submodule.git
我希望有一种方法可以重新使用 OldProject
中的.gitmodules
文件
这是我目前尝试的方法:
cp OldProject/.gitmodules NewProject/.gitmodules
-> 好的(哇哦)git submodule init
-> 无git submodule update
-> 无git submodule update --init
-> 无git submodule sync
-> 无git submodule update --init --recursive
-> 无
我见过无数人试图更改其子模块的 url(或名称)的问题,但我认为这并不相似,新因素是NewProject git 存储库是原版的(没有 .git/modules
)。
那么你认为有办法实现我的意图吗?
如果是,我该如何实现?
tl;博士;
不可能 -> 解决方法 via script
详情
您的问题是缺少 git submodule add
电话。这就是将子模块配置添加到您的 .git/config
文件,在 .git/modules
中为您的子模块创建一个文件夹,将一个子模块条目添加到 .gitmodules
并在您的存储库中创建一个文件夹,其中子模块将被签出。如果之前没有添加,我找不到初始化子模块的方法。即使您复制文件夹、config
条目和 .gitmodule
文件,任何 init
或 update
调用也会失败。
回答您的问题:我认为没有办法跳过 submodule add
调用并重新使用您的 .gitmodules
文件。
编辑:顺便说一下,即使是新初始化的 git 存储库也有一个 .git/config
文件。
EDIT2:避免调用 git submodule add
的确切原因是什么?