- 进入主项目的根目录,找到包含子模块的目录。
- 执行命令
git submodule deinit <submodule-name>
,将子模块从.gitmodules文件中删除。 - 执行命令
git rm <submodule-name>
,将子模块从主项目中删除。 - 删除子模块相关的配置文件,例如
.git/modules/<submodule-name>
目录。 - 执行命令
git submodule add <new-url> <submodule-path>
,添加新的子模块到主项目中
$ git submodule deinit XXX
fatal: not a git repository: D:/06_project_code2/bonham-testscript/.git/modules/XXX
fatal: Submodule work tree 'XXX' contains local modifications; use '-f' to discard them
$ git submodule deinit -f XXX
warning: Could not unset core.worktree setting in submodule 'XXX'
Cleared directory 'XXX'
Submodule 'XXX' (git@git.XXXXX.com:XXX.git) unregistered for path 'XXX'
$ git rm XXX
rm 'XXX'
rm -rf .git/modules/XXX
git submodule add