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

相关推荐
摆烂且佛系4 小时前
win10 Git Bash安装make命令
git
xuanzdhc5 小时前
Gitgit
java·linux·运维·服务器·c++·git
一点事17 小时前
git:通过令牌方式访问远程仓库
git
或非与18 小时前
windows版本git代码自动更新
git
这是个栗子18 小时前
git报错:‘git‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。
git
小生不才yz18 小时前
(二)日常工作流 - git rm 命令的使用
git
inferno19 小时前
TortoiseGit下载与安装
git
取名真是19 小时前
Git 到底是干啥的?零基础小白听完都懂了并且轻松驾驭它
git
AA陈超21 小时前
Git常用命令大全及使用指南
笔记·git·学习
无限进步_21 小时前
C语言数组元素删除算法详解:从基础实现到性能优化
c语言·开发语言·windows·git·算法·github·visual studio