Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在路径xx的.gitmodules中未找到子模块映射_Git_Github_Git Submodules - Fatal编程技术网

在路径xx的.gitmodules中未找到子模块映射

在路径xx的.gitmodules中未找到子模块映射,git,github,git-submodules,Git,Github,Git Submodules,我在stack上尝试了很多不同的答案,但都不管用。我正在尝试将存储库添加为包含另一个子模块的子模块。所以我要做的是: git submodule add -b develop git@github.com:submoduleRepo 子模块被添加到存储库中,并包含其中子模块的文件夹。但是,文件夹是空的。因此,我继续执行以下命令: git submodule update --init --recursive 我什么也没得到。如果我转到子模块的目录cd submoduleRepo,然后键入gi

我在stack上尝试了很多不同的答案,但都不管用。我正在尝试将存储库添加为包含另一个子模块的子模块。所以我要做的是:

git submodule add -b develop git@github.com:submoduleRepo
子模块被添加到存储库中,并包含其中子模块的文件夹。但是,文件夹是空的。因此,我继续执行以下命令:

git submodule update --init --recursive
我什么也没得到。如果我转到子模块的目录
cd submoduleRepo
,然后键入git submodule,我会得到:

fatal: no submodule mapping found in .gitmodules for path 'src/app/nestedSubmoduleRepo'
这是主回购的my.git模块:

[submodule "submoduleRepo"]
    path = submoduleRepo
    url = git@github.com:submoduleRepo.git
    branch = develop
在子模块epo/.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

问题是子模块repo在
.gitmodules
文件中使用反斜杠。Git对存储库中的路径使用正斜杠,因为它们跨平台工作(反斜杠不工作),而且它无法知道存储库是否打算跨平台


您需要更新子模块存储库以在文件中包含正确的条目(并且还应该删除
路径组件)。一旦您提交了它并用新的提交更新了父存储库,
git submodule update--init--recursive
应该可以正常工作。

问题是您的子模块repo在
.gitmodules
文件中使用了反斜杠。Git对存储库中的路径使用正斜杠,因为它们跨平台工作(反斜杠不工作),而且它无法知道存储库是否打算跨平台


您需要更新子模块存储库以在文件中包含正确的条目(并且还应该删除
路径组件)。一旦您提交了它并用新的提交更新了父存储库,
git子模块更新--init--recursive
应该可以正常工作。

这不是url。尝试给出协议,例如
https://github.com/user/repo.git
这也不行。此外,包含nestedSubmoduleRepo的submoduleRepo也有这样编写的url,并且确实有效。我可以访问该url。那不是url。尝试给出协议,例如
https://github.com/user/repo.git
这也不行。此外,包含nestedSubmoduleRepo的submoduleRepo也有这样编写的url,并且确实有效。我可以访问该url。
src/app/nestedSubmoduleRepo
然后
git子模块更新--init--recursive
成功了!谢谢有些明显,但只是为了防止有人与之斗争,不要执行
git子模块更新--递归--初始化
src/app/nestedSubmoduleRepo然后
git子模块更新--初始化--递归
就成功了!谢谢有些明显,但只是为了防止有人与之斗争,不要执行
git子模块更新--递归--init