在 .gitmodules 中找不到路径 xx 的子模块映射
no submodule mapping found in .gitmodules for path xx
我在堆栈上尝试了很多不同的答案,但 none 其中的答案有效。我正在尝试将存储库添加为包含另一个子模块的子模块。所以我做的是:
git submodule add -b develop git@github.com:submoduleRepo
子模块已添加到存储库中,并在其中包含子模块的文件夹。但是文件夹是空的。所以我跟进这个命令:
git submodule update --init --recursive
哪个returns我什么都没有。如果我转到子模块 cd submoduleRepo
的目录,然后键入 git 子模块,我得到:
fatal: no submodule mapping found in .gitmodules for path 'src/app/nestedSubmoduleRepo'
这是我的.git主仓库的模块:
[submodule "submoduleRepo"]
path = submoduleRepo
url = git@github.com:submoduleRepo.git
branch = develop
并且在 submoduleRepo/.gitmodules:
[submodule ".\src\app\nestedSubmoduleRepo"]
path = .\src\app\nestedSubmoduleRepo
url = git@github.com:nestedSubmoduleRepo.git
为什么我不断收到此错误并且目录没有被填充?
编辑:
一旦我 运行 --init --recursive
一旦它给我错误:
fatal: No url found for submodule path 'submoduleRepo/src/app/nestedSubmoduleRepo' in .gitmodules
Failed to recurse into submodule path 'submoduleRepo'
我的 git 配置:
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "origin"]
url = git@github.com:mainRepo.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[submodule "submoduleRepo"]
url = git@github.com:submoduleRepo.git
active = true
问题是您的子模块存储库在 .gitmodules
文件中使用了反斜杠。 Git 对存储库中的路径使用正斜杠,因为它们可以跨平台工作(而反斜杠则不能),并且它无法知道您的存储库是否打算跨平台。
您需要更新子模块存储库以在文件中包含正确的条目(您还应该删除 .
路径组件)。一旦您提交并使用新提交更新父存储库,git submodule update --init --recursive
应该可以正常工作。
我在堆栈上尝试了很多不同的答案,但 none 其中的答案有效。我正在尝试将存储库添加为包含另一个子模块的子模块。所以我做的是:
git submodule add -b develop git@github.com:submoduleRepo
子模块已添加到存储库中,并在其中包含子模块的文件夹。但是文件夹是空的。所以我跟进这个命令:
git submodule update --init --recursive
哪个returns我什么都没有。如果我转到子模块 cd submoduleRepo
的目录,然后键入 git 子模块,我得到:
fatal: no submodule mapping found in .gitmodules for path 'src/app/nestedSubmoduleRepo'
这是我的.git主仓库的模块:
[submodule "submoduleRepo"]
path = submoduleRepo
url = git@github.com:submoduleRepo.git
branch = develop
并且在 submoduleRepo/.gitmodules:
[submodule ".\src\app\nestedSubmoduleRepo"]
path = .\src\app\nestedSubmoduleRepo
url = git@github.com:nestedSubmoduleRepo.git
为什么我不断收到此错误并且目录没有被填充?
编辑:
一旦我 运行 --init --recursive
一旦它给我错误:
fatal: No url found for submodule path 'submoduleRepo/src/app/nestedSubmoduleRepo' in .gitmodules
Failed to recurse into submodule path 'submoduleRepo'
我的 git 配置:
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "origin"]
url = git@github.com:mainRepo.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[submodule "submoduleRepo"]
url = git@github.com:submoduleRepo.git
active = true
问题是您的子模块存储库在 .gitmodules
文件中使用了反斜杠。 Git 对存储库中的路径使用正斜杠,因为它们可以跨平台工作(而反斜杠则不能),并且它无法知道您的存储库是否打算跨平台。
您需要更新子模块存储库以在文件中包含正确的条目(您还应该删除 .
路径组件)。一旦您提交并使用新提交更新父存储库,git submodule update --init --recursive
应该可以正常工作。