我的目录中有3个子模块。
我正在尝试使用命令
更新所有子模块 git submodule foreach git submodule update
其中两个更新正常,一个抛出错误:
No submodule mapping found in .gitmodules for path 'LibTecho'
我无法为模块执行初始化和更新' LibTecho
'
这是我的 .gitmodules
[submodule "TechEngine"]
path = TechEngine
url = git@github.com:TechApp/TechEngine.git
[submodule "LibTechCreate"]
path = LibSTechCreate
url = git@github.com:TechApp/LibTechCreate.git
[submodule "LibTecho"]
path = LibTecho
url = git@github.com:TechApp/LibTecho.git
我试过了:
删除子模块并按照here
中的说明再次添加子模块git rm --cached LibTecho
和
git submodule add git@github.com:TechApp/LibTecho.git
检查引用子模块的条目:
git ls-files --stage | grep 160000
我发现所有三个库都已正确列出。
我删除了子模块,然后再次克隆:
git clone --recursive git@github.com:TechApp/LibTecho.git
删除了.git / config文件中的子模块部分
即使经过多次尝试,我也无法更新我的子模块。
编辑:
当我尝试使用源代码树从子模块git中提取时,我也收到此错误消息:
git -c diff.mnemonicprefix = false -c core.quotepath = false -c credential.helper = sourcetree submodule update --init --recursive No. 在.gitmodules中找到的子模块映射用于路径' LibTecho'
答案 0 :(得分:0)
我发现了我做错了什么。
我在做
git rm --cached LibTecho
在项目目录文件夹中。
要解决此问题,我必须转到子模块文件夹,在我的情况下是LibTecho,然后执行
git rm --cached LibTecho
并执行git submodule update --init