在.gitmodules中找不到用于路径' LibTecho'的子模块映射。

时间:2016-03-30 15:53:36

标签: git git-submodules

我的目录中有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

我试过了:

  1. 删除子模块并按照here

    中的说明再次添加子模块
    git rm --cached LibTecho
    
  2.    git submodule add git@github.com:TechApp/LibTecho.git
    
    1. 检查引用子模块的条目:

      git ls-files --stage | grep 160000 
      
    2. 我发现所有三个库都已正确列出。

      1. 我删除了子模块,然后再次克隆:

        git clone --recursive git@github.com:TechApp/LibTecho.git
        
      2. 删除了.git / config文件中的子模块部分

        • 我的目录中没有其他.gitmodules文件。
      3. 即使经过多次尝试,我也无法更新我的子模块。

        编辑:

        当我尝试使用源代码树从子模块git中提取时,我也收到此错误消息:

          

        git -c diff.mnemonicprefix = false -c core.quotepath = false -c   credential.helper = sourcetree submodule update --init --recursive No.   在.gitmodules中找到的子模块映射用于路径' LibTecho'

1 个答案:

答案 0 :(得分:0)

我发现了我做错了什么。

我在做

  git rm --cached LibTecho

在项目目录文件夹中。

要解决此问题,我必须转到子模块文件夹,在我的情况下是LibTecho,然后执行

 git rm --cached LibTecho

并执行git submodule update --init