git子模块使用关键命令

Git submodule关键命令

git clone 指定分支

部分仓库很大,尤其是有大量历史遗留分支,直接clone时间很长,clone完之后切换分支也很久,因此可以只clone某个分支

shell 复制代码
git clone -b XXX git@github.com:username/projectName.git

添加子模块

可能有部分功能很多项目要用,每个项目copy一份代码不方便维护,这时候就可以用子模块来管理。提取出公共的功能模块,形成一个或多个单独的仓库。其他项目要使用时,添加该项目为子模块(submodule),方便拉取代码。

shell 复制代码
git submodule -b branchName --name moduleName git@github.com:username/projectName.git submodulePath
# 可以使用默认名称和分支,-b, --name,submodulePath都可以不传

拉取子模块代码

clone主模块时,不会自动clone子模块代码,需要通过update命令拉取

shell 复制代码
git submodule update --remote

删除子模块

这就比较麻烦了,不知道为啥没有删除命令?

  • 删除子模块目录
  • 删除.git/config中该子模块信息
  • 删除.git/modules目录该子模块文件夹
  • 删除.gitmodules文件中该子模块信息
  • git rm --cached submoduleName
相关推荐
Fzuim2 小时前
当 AI 也成为提交者:ThinkFlow 的 Git 提交规范,是怎么定的
git·agent·thinkflow
CodexDave14 小时前
数据库连接池耗尽:排查顺序与三层兜底
服务器·前端·数据库·git·云原生·容器·kubernetes
乐观的Terry15 小时前
5、发布系统-Git 集成
大数据·git·elasticsearch
不怕犯错,就怕不做16 小时前
GIT的简单打patch应用format-patch and git am
linux·git·全文检索
Byron Loong16 小时前
【Git】如何检查 Ubuntu 系统上 gitLab 是否开启
git·ubuntu·gitlab
lar_slw17 小时前
git删除上一次提交
git
leoZ2311 天前
Git 集成实战完全指南(四):Git 冲突解决
大数据·git·elasticsearch
枫荷2 天前
Git LFS 大文件优化说明
git
techdashen2 天前
不用再反复 stash:用 Git Worktree 同时开发多个分支
大数据·git·elasticsearch
leoZ2312 天前
Git 集成实战完全指南(八):团队协作最佳实践
git