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

相关推荐
炸膛坦客8 小时前
Git 和 GitHub:(七)将本地新建仓库与 GitHub 远程仓库关联起来(SSH)
git·ssh·github
炸膛坦客15 小时前
Git 和 GitHub:(六)在本地新建仓库并进行一次提交
git·github
2301_809815251 天前
Git和Gitee基本使用教程
git·gitee
雨翼轻尘1 天前
01_Git概述及基本操作
git·概述·基本操作
程序员果子2 天前
CrewAI :当 Agent 学会团队协作
人工智能·git·python·多智能体·agent框架
‎ദ്ദിᵔ.˛.ᵔ₎2 天前
Git GDB/CGDB调试器
git·gdb
他们都叫我GPT侠2 天前
【无标题】
git·github
果汁华2 天前
CLI 命令行与 Python 框架实战
git·python·github
zzzzzz3102 天前
我用 AI Agent 重构了日常开发工作流,效果出乎意料
人工智能·git·github
我叫黑大帅2 天前
git 的 NFD 与 NFC 有什么区别?为什么我有个文件在 NFC 中间不会被当成改动,在 NFD 中就会当成改动
git·面试·github