Простые шаги
git config -f .git/config --remove-section submodule.$submodulename
git config -f .gitmodules --remove-section submodule.$submodulename
git rm --cached $submodulepath
rm -rf $submodulepath
rm -rf .git/modules/$submodulename
Обратите внимание: $submodulepath
не содержит ведущие или завершающие косые черты.
Фон
Когда вы выполняете git submodule add
, он добавляет его только к .gitmodules
, но как только вы сделали git submodule init
, он добавил к .git/config
.
Поэтому, если вы хотите удалить модули, но сможете быстро их восстановить, выполните следующие действия:
git rm --cached $submodulepath
git config -f .git/config --remove-section submodule.$submodulepath
Рекомендуется сначала сделать git rebase HEAD
, а git commit
- на end, если вы поместите это в скрипт.
Также посмотрите на ответ на вопрос: могу ли я разогнать подмодуль Git? .