git踩坑系列— git submodules add是报错 A git directory for ‘***‘ is found locally with remote(s)

给项目添加子模块时,遇到一下报错;
在这里插入图片描述
因为之前添加过一次这个子模块,虽然把子模块文件夹删掉了,但是在.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 子模块目录名

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值