Как добавить файлы в Git к пути бывшего подмодуля?
у меня есть проект, который раньше содержал подмодуль, по пути mysubmodule. Я установил последний Git из источника (1.8.3-rc2) и побежал git submodule deinit mysubmodule. Затем я удалил .gitmodules файл и зафиксировал изменение. Я также удалил С .
Я хотел бы зафиксировать файлы из mysubmodule в мое РЕПО прямо сейчас, но git говорит, что изменений нет. Если я наберу git add mysubmodule он ничего не делает. Если я наберу git add mysubmodule/file.txt он говорит:fatal: Path 'mysubmodule/file.txt' is in submodule 'mysubmodule'
у меня есть также обнаружено, что если вы проверяете свежую версию РЕПО, она создает , несмотря на отсутствие . И бежит git submodule init дает No submodule mapping found in .gitmodules for path 'mysubmodule' ошибка.
как это исправить?
1 ответ:
ГИТ все еще думаю
mysubmoduleявляется подмодулем, так как записывается в индекс со специальным режимом "160000".
Смотрите "обновление подмодуля git требуется только изначально?" дополнительные.
Чтобы проверить это, как в в ответ, вы можете сделать:$ git ls-tree HEAD mysubmodule 160000 commit c0f065504bb0e8cfa2b107e975bb9dc5a34b0398 mysubmoduleЭто не зависит от присутствия
.gitmoduleфайл, или на содержаниеmysubmodule.сначала нужно удалить эту запись из индекса:
git rm --cached mysubmoduleзатем вы можете продолжать.