git 删除 submodule 子模块的步骤

实验有效,这里删除了两个 submodule。

1, 执行删除 submodule

bash 复制代码
mkdir tmp1 && cd tmp1 &&  git clone --recursive ssh://git@aaa.bbb.ccc.git \
&& cd ccc/ &&  git checkout -b abranch_01 \
&& git submodule deinit -f XXXX \
&& git submodule deinit -f YYYY \
&& git rm --cache XXXX \
&& git rm --cache YYYY \
&& rm -rf XXXX \
&& rm -rf YYYY \
&& rm -rf .git/modules/XXXX \
&& rm -rf .git/modules/YYYY \

#rm .gitmodules 
vim .gitmodules
//删除.gitmodules 中与本module 相关的信息

vim .git/config


git add .
git status
git commit -m "del submodules XXXX and YYYY"
git log -1
git push origin abranch_01

2. 验证是否成功删除

验证方法,当重新git clone 项目(先不加 --recursive 选项)后,

bash 复制代码
git checkout abranch_01

git submodule init

git submodule update

之后,

ls .git/module 文件夹已经不存在

XXXX/ 与 YYYY/ 文件夹也不存在

这是就可以merge 进 master 中了。

其中,如果项目只有一个submodule,那么,删除 submodule 后,.gitmodules 中的内容变为空,可以直接删除 .gitmodules 整个文件: rm .gitmodules

相关推荐
好好沉淀6 小时前
ide进去git突然报Cannot identify version of git executable: no response的错误
git
宇宙超级无敌霸王龙捏10 小时前
Git 分支完整操作指南
git
学编程的小鬼13 小时前
git 中常用的命令
git
小黄酥14 小时前
Sourcetree克隆/获取gitee工程,Git获取SSH密钥
git·gitee·github
小Lu的开源日常15 小时前
踩坑日记:为什么 .gitignore 不起作用了
git·代码规范·trae
Gazer_S19 小时前
【Git 子模块冲突解析】
git
她说..19 小时前
通过git拉取前端项目
java·前端·git·vscode·拉取代码
freedom_1024_19 小时前
解决GitHub大文件推送错误:彻底清理PDB文件并配置.gitignore
git·github
未来的JAVA高级开发工程师19 小时前
Git--
git
sitellla1 天前
Testify Go测试工具包入门教程
git·测试工具·其他·golang