git submodule add子模块的添加,--recurse-submodules递归克隆子项目

  git submodule add 可将其他仓库作为本仓库的子模块,并保持父项目和子项目相互独立。面对比较复杂的项目时,经常会用到。


语法


  • 将URL的仓库作为本仓库的子模块。执行后,git会将URL的仓库clone到 当前路径 下。
git submodule add URL
  • 后面可以 指定路径
git submodule add URL <path>

【注意】路径需要包含子模块的文件夹名称,如不包含会报错 <path> already exists and is not a valid git repo

【注意】如先前删除过目录,但没有及时commit提交到本地库,在引用同名称子模块时,会报错 <path> already exists in the index

  submodule 执行后,git会将URL的仓库clone到指定路径下。并于工程根目录创建一.gitmodules文件,包含子模块的路径、URL和分支信息。



正确的示例


git submodule add https://github.com/lvgl/lv_demos.git components/lv_demos
  • -b 指定分支版本。
git submodule add -b release/v8.0 https://github.com/lvgl/lv_demos.git components/lv_demos


clone完整源码


git clone --recurse-submodules URL

【注意】如直接clone,不加 --recurse-submodules,clone后会丢失子模块的文件。



辨识


  • 有子模块的项目,其根目录下会存在一 .gitmodules 文件。里面包含子模块的路径、URL和分支信息。

  • 浏览Github,也能很好的辨识出,如下图框选部分则为子模块。
    在这里插入图片描述

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值