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

时间:2013-02-06 01:22:20

标签: git version-control git-submodules

当我跑步时

git submodule update
No submodule mapping found in .gitmodules for path 'Classes/lib/AFKissXMLRequestOperation'

但是我在当前的回购中没有子模块Classes/lib/AFKissXMLRequestOperation

我的git配置是:

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = false
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = git@github.com:why_ios.git
[branch "master"]
    remote = origin
    merge = refs/heads/master
[submodule "External/ios-SDNestedTable"]
    url = git@github.com:why/ios-SDNestedTable.git
[submodule "External/PSStackedView"]
    url = git@github.com:why/PSStackedView.git

和.gitmodules是:

[submodule "External/ios-SDNestedTable"]
    path = External/ios-SDNestedTable
    url = git@github.com:why/ios-SDNestedTable.git
[submodule "External/PSStackedView"]
    path = External/PSStackedView
    url = git@github.com:why/PSStackedView.git

2 个答案:

答案 0 :(得分:92)

检查.git/modules中的设置是否正确。从几个版本开始,git在那里添加了一个条目。

此外,树可能在该路径上有一个提交对象。要摆脱它,你可以

git rm --cached Classes/lib/AFKissXMLRequestOperation
应该一劳永逸地摆脱它。

答案 1 :(得分:0)

在Windows上使用git的任何人都可以将其保留在这里。由于git对路径分隔符的处理,可以在线跟踪所有答案,但仍然无法使用。 例如:

我遇到的问题是通过hugo添加submodule个主题:

git submodule add https://github.com/danielkvist/hugo-terrassa-theme.git themes\terrassa

会导致.gitmodules如下:

[submodule "themes\\terrassa"]
    path = themes\\terrassa
    url = https://github.com/danielkvist/hugo-terrassa-theme.git

这将导致git submodule [status || init || ...]的问题

手动将分隔符更换为:

[submodule "themes/terrassa"]
    path = themes/terrassa
    url = https://github.com/danielkvist/hugo-terrassa-theme.git

...为我解决了。

由于Netlify使用* nix服务器映像,因此也解决了部署问题。