侧边栏壁纸
博主头像
成云博主等级

行动起来,活在当下

  • 累计撰写 40 篇文章
  • 累计创建 25 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录
git

git项目子模块常用操作

佳航
2020-09-17 / 0 评论 / 0 点赞 / 701 阅读 / 2259 字

git项目子模块一般用在复杂的项目中,方便项目管理。今天开始学习下子模块操作

子模块创建

# 在主工程仓库中添加子依赖子模块
$ git submodule add <远程子模块仓库地址> <相对于项目的本地路径>

举个栗子:

$ git submodule add https://github.com/***/module.git module
$ more .gitmodules
[submodule "module"]
    path = module
    url = https://github.com/***/module.git

clone带有子模块的仓库

git submodule init
git submodule update

注意:不管是使用系统的递归克隆还是手动递归执行的初始化和更新,此时子模块的HEAD都有可能处于游离状态,需要手动切换到对应的分支

一次性执行命令可以替代init 和update

$ git submodule update --init --recursive  //一次性更新。
$ git clone --recurse-submodules <远程主工程仓库地址>//直接clone的时候完成多层依赖。

注意:主工程的提交及更新并不会对子模块代码造成影响,只会影响其依赖的子模块提交版本

在更新主仓库之前 ,一定要先对子模块进行更新,否者可能会导致版本不对应。

$ git submodule update
$ git pull

子模块删除

删除子仓库 -> 删除.gitsubmodule里相关部分 -> 删除.git/config 文件里相关字段 -> 删除子仓库目录。

$ git rm --cached <本地路径>

删除会残留一些文件在.git/modudles文件夹内。

0
git

评论区