В .gitmodule не найдено отображение подмодулей для пути, который не является подмодулем - PullRequest
295 голосов
/ 15 ноября 2010

У меня есть проект с подмодулем в lib/three20

Мой .gitmodule файл выглядит так:

[submodule "lib/three20"]
    path = lib/three20
    url = git://github.com/facebook/three20.git

В прошлом я клонировал это без ошибок, (git submodule init, за которым следует git submodule update), и это работает некоторое время.

Я попытался клонировать это на новую машину, и теперь я получаю эту ошибку на git submodule init:

No submodule mapping found in .gitmodules for path 'Classes/Support/Three20'

Этот путь - просто пустая папка в XCode, которую я использую для размещения проектов из другого каталога.Он не является частью файла .gitmodules, поэтому я не вижу, откуда он берется по этому пути.

Есть идеи?

Ответы [ 14 ]

1 голос
/ 04 февраля 2016

После просмотра моего .gitmodules оказалось, что у меня есть заглавная буква, которую я не должен был иметь.Так что имейте в виду, что каталоги .gitmodules чувствительны к регистру

1 голос
/ 13 января 2015

Обычно git создает скрытый каталог в корневом каталоге проекта (.git /)

Когда вы работаете с CMS, вы можете установить модули / плагины с каталогом .git / с метаданными git для конкретного модуля / плагина

Самое быстрое решение - найти все каталоги .git и сохранить только свой корневой каталог метаданных git. Если вы сделаете это, git не будет рассматривать эти модули как подмодули проекта.

0 голосов
/ 06 октября 2017

Проблема для нас заключалась в том, что дублированные записи субмодулей были добавлены в .gitmodules (возможно, из слияния). Мы искали путь, на который жаловался git в .gitmodules, и нашли два идентичных раздела. Удаление одного из разделов решило проблему для нас.

Что бы это ни стоило, git 1.7.1 выдал ошибку «нет подмодульного отображения», но git 2.13.0, похоже, не заботился.

0 голосов
/ 25 апреля 2016

В моем случае ошибка, вероятно, была связана с неправильным объединением .gitmodules на двух ветвях с разными конфигурациями подмодулей Получив предложения с этого форума, я решил проблему, редактируя вручную файл .gitmodules, добавив недостающую запись подмодуля довольно легко. После этого команда git submodule update --init --recursive работал без проблем.

...