После rajibchowdhury 's answer (upvoted), использовать git rm
команду, которая рекомендуется для удаления специальной записи в указателе, обозначающем подмодуль («папка» со специальным режимом 160000
).
Если эта специальная запись path не указана в .gitmodule
(как 'Classes/Support/Three20
' в исходном вопросе), то вам необходимо удалить ее, чтобы избежатьсообщение об ошибке " Не найдено подмодулей в .gitmodules
для пути ".
Вы можете проверить все записи в индексе, которые ссылаются на подмодули:
git ls-files --stage | grep 160000
Предыдущий ответ (ноябрь 2010 г.)
Возможно, вы неправильно объявили свой начальный подмодуль (т.е. без хвоста '/' в конце, как описано в моего старого ответа), даже если у вашего .gitmodule
есть пути, которые в нем выглядят нормально).
В этой теме упоминается:
Вы получаете ту же ошибкупри запуске 'git submodule init' из свежего клона?
Если это так, у вас что-то не так.
Если у вас нет подмодулей, удалите .gitmodules
и все ссылки на подмодули в .git / config и убедитесь, что в каталоге Pikimal dir нет .git
dir.
Если это исправитпроблема, проверьте и сделайте то же самое на своей рабочей копии круиза.
Очевидно, не удаляйте ваш основной .gitmodules
файл, но поищите другие дополнительные .gitmodules
файлы в вашем рабочем дереве.
Все еще в теме"неправильная инициализация субмодуля", Jefromi упоминает субмодули, которые фактически являются gitlinks.
См. Как отслеживать неотслеживаемый контент? , чтобы преобразовать такой каталог в настоящий подмодуль.