git submodule项目子模块的管理一篇就够了

Git 2023-05-14 543次浏览

前言

项目发展到一定的程度,基本都会使用一些公共组件和模块做精细化的拆分,尤其是多个项目使用同一组件或sdk,方便统一升级和管理,使用Git做版本控制管理,也就不可避免的使用到子模块作为管理,下面主要介绍一些子模块常用的管理命令

配置文件

.gitmodules:该配置文件保存了项目 URL 与已经拉取的本地目录之间的映射。

# 示例:
[submodule "vendor/sdk"]
    path = vendor/sdk
    url = ssh://git@git.ngxcode.com/intra/sdk.git
[submodule "vendor/tools"]
    path = vendor/tools
    url = ssh://git@git.ngxcode.com/intra/tools.git

常用命令

# 查看帮助
git submodule --help

# 初始化本地.gitmodules文件
git submodule init

# 克隆代码时带上子模块;repository:父仓库地址;
git clone --recurse-submodules <repository>

# 拉取所有子模块
git submodule foreach git pull

# 添加子模块
# repository:仓库地址;path:存放当前项目文件夹路径
git submodule add <repository> <path>

# 更新子模块
git submodule update --init --recursive

# 删除子模块;这个手续稍微有点多
rm -rf 子模块目录 # 删除子模块目录及源码
vi .gitmodules  # 删除项目目录下.gitmodules文件中子模块相关条目
vi .git/config  # 删除配置项中子模块相关条目
rm .git/modules/* # 删除模块下的子模块目录,每个子模块对应一个目录,注意只删除对应的子模块目录即可

git submodule项目子模块的管理一篇就够了

喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址