Git 在不同分支中具有相同名称的子模块

Git submodule with same name in different branches

我想知道是否可以有一个 git 子模块指向两个不同的存储库 使用相同的目录名称 ,具体取决于当前检出的分支。

overall-repo (Branch A)
\subproject at domainA

overall-repo (Branch B)
\subproject at domainB

如果我使用常规 git submodule add 命令尝试此操作,git 要我指定一个不同的名称或强制使用以前的目标,尽管我已经检查了另一个分支。

以防其他人也偶然发现:名称不一定反映子模块所在的文件夹。

所以命令 git submodule add --name subproject-B domainB subproject 创建具有唯一名称 (subproject-B) 的子模块,但让它驻留在指定为最后一个参数的路径中。

或者说生成的.submodule文件:

[submodule "subproject-B"] #new name
    path = subproject #but same path
    url = domainB