33

当我跑

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
4

2 回答 2

100

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

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

git rm --cached Classes/lib/AFKissXMLRequestOperation

那应该一劳永逸地摆脱它。

于 2013-02-06T06:20:35.257 回答
3

只是把这个留给git在 Windows 上使用的任何人。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

...为我解决了。

Also solved the deployment on Netlify since they use *nix server images.

于 2019-08-02T02:44:33.317 回答