Как добавить файлы в 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
затем вы можете продолжать.