给项目添加子模块时,遇到一下报错;
因为之前添加过一次这个子模块,虽然把子模块文件夹删掉了,但是在.git里还有记录,所以再次添加时会报这个错误;
按照下面总结里的删除方法,删掉子模块相关的文件就可以啦~~
总结一下git submodule子模块管理的方法
添加子模块
git submodule add <repoUrl> <directory name>
运行成功后子模块就添加到项目了,且会自动新增.gitmodules文件,内部记录了子模块的信息
如果子模块添加后,文件夹内没有文件,可以执行
git submodule update --init --recursive
更新子模块
当子模块有更新时,在主仓库需要更新一下远程子模块代码
git submodule update --remote
删除子模块
git submodule没有提供删除子模块的命令,需要自己手动删一下,并且要删除的地方有点多,不要漏了~~
第一步:删除子模块文件夹
rm -rf 子模块目录名
第二步:删除.gitmodules里的子模块的信息
第三步:删除.git/modules/子模块名
cd ./.git/modules/
rm -rf 子模块目录名
第四步:删除.git/config里的子模块配置信息
vi .git/config
进入编辑模式,删除子模块相关信息
以上,就删除成功啦
tips:
如果以上都删除了,还是不能添加的话,就删除一下缓存吧
git rm --cached 子模块目录名