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

相关推荐
m0_743125138 分钟前
claude --version 报错Claude Code on Windows requires git-bash (https://git-scm.com/downloads/win).
开发语言·git·bash
AntoineGriezmann1 小时前
Git:新建功能分支并解决 Merge 冲突
git
Sylus_sui3 小时前
Git快速创建并推送新分支
git
悠悠子衿121384 小时前
Claude+VSCODE配置git导致频繁弹出git bash 的CMO窗口解决方法
ide·git·vscode
QC七哥5 小时前
伪造git提交记录生成点阵字符
git·github
HilariousDog6 小时前
git仓库中克隆文件同时保存line history / 行提交历史的方法介绍
git
TimberWill6 小时前
GitHub Copilot 一键生成中文commit提示语规则设置
git·github
Java后端的Ai之路7 小时前
【远程仓库】- 上传本地项目到远程仓库Gitee(码云)指南
git·gitee·ssh·仓库
bj_zhb9 小时前
git reflog用法
大数据·linux·git·github
Java后端的Ai之路9 小时前
【AI编程工具】-关闭Trae IDE的Git自动Pull开关
ide·git·ai编程·trae