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]
相关推荐
GISer_Jing3 小时前
Git协作开发:feature分支、拉取最新并合并
大数据·git·elasticsearch
高山莫衣9 小时前
git rebase多次触发冲突
大数据·git·elasticsearch
码农藏经阁9 小时前
工作中常用的Git操作命令(一)
git
kobe_OKOK_9 小时前
【团队开发】git 操作流程
git·elasticsearch·团队开发
码农垦荒笔记9 小时前
Git 安装闭坑指南(仅 Windows 环境)
windows·git
CC码码19 小时前
管理你的多个 Git 密钥(多平台多账号)
git·gitlab·github
CC码码19 小时前
管理你的多个 Git 密钥(单平台多账号)
git·gitlab·github
大卫小东(Sheldon)19 小时前
GIM 1.5发布了! 支持Windows系统了
git·ai·rust
flying jiang19 小时前
将大仓库拆分为多个小仓库
git
李boyang10 天前
Git(四):远程操作
git