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,也能很好的辨识出,如下图框选部分则为子模块。

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

  1. [转]使用Git Submodule管理子模块

    本文转自:https://blog.csdn.net/qq_37788558/article/details/78668345 实例代码: 父项目:https://github.com/jjz/pod ...

  2. git submodule获取子模块

    从github上获取工程,经常会出现依赖其它github上代码的情况,这时如果每一个都手动下载,实在太麻烦了.其实git给我们提供了相互引用的功能,可以在工程中直接引入其它的代码库,这样可以保证每次使 ...

  3. Git Submodule管理项目子模块

    使用场景 当项目越来越庞大之后,不可避免的要拆分成多个子模块,我们希望各个子模块有独立的版本管理,并且由专门的人去维护,这时候我们就要用到git的submodule功能. 常用命令 git clone ...

  4. 【git】Git Submodule管理项目子模块

    文章目录 1.概述 2. 使用场景 3. 如何使用 3.1. 创建带子模块的版本库 3.2. 克隆带子模块的版本库 3.3. 修改子模块 3.4. 更新子模块 3.5. 删除子模块 4.删除子模块 5 ...

  5. Git submodule子模块的使用

    1. Git submodule 1.1. submodule常用命令 在项目中的.gitmodules文件中查看当前submodule设置 git clone <repository> ...

  6. git中submodule子模块的添加、使用和删除

    背景 项目中经常使用别人维护的模块,在git中使用子模块的功能能够大大提高开发效率. 使用子模块后,不必负责子模块的维护,只需要在必要的时候同步更新子模块即可. 本文主要讲解子模块相关的基础命令,详细 ...

  7. Git submodule子模块

    1. 子模块的添加 git submodule add <url> <path> 其中,url为子模块的路径,path为该子模块存储的目录路径. 比如: git submodu ...

  8. git submodule子模块管理

    有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目. 也许是第三方库,或者你独立开发的,用于多个父项目的库. 现在问题来了:你想要把它们当做两个独立的项目,同时又想在一个项目中使用另一个 ...

  9. git submodule添加和删除

    git submodule 模块添加使用 1. 添加子模块 git submodule add <url> <path> url 代表子模块仓库克隆地址(git@-git) p ...

最新文章

  1. matlab 2016b更改工作路径
  2. 如何检查变量的类型是否为字符串?
  3. 一个男人的潜力有多大,就看这几点!
  4. iOS开发那些事-表视图UI设计模式
  5. Leetcode 134. 加油站 解题思路及C++实现
  6. SAP Spartacus cost center list的数据源分析
  7. 从MVP到微软产品经理的几点心得
  8. [json] JSON for Modern C++
  9. 根据父类id查询所有的父级_031、组函数和子查询
  10. MySQL 服务无法启动--服务没有报告任何错误 ---Failed to find valid data directory.
  11. 十五、JDBC(高琪java300集+java从入门到精通笔记)
  12. xml 解析错误:语法错误 xml解析错误:找不到根元素
  13. 嵌入式硬件通信接口协议-UART(四)设计起止式的应用层协议
  14. Opencv中使用ocl模块遇到的问题
  15. 微信小程序 手写签名_你竟然还不知道在微信上就可以手写签名、签文件了~
  16. springCloud学习【4】之elasticsearch(1)
  17. 美团html页面代码,html+css+js制作美团官网
  18. 英国内政大臣:科技公司给信息加密不可接受
  19. R 数据正态分布检验
  20. 【SCIR笔记】以文档为额外知识的生成式对话

热门文章

  1. jenkins:集成sonar代码扫描+发送邮件
  2. 题解P3711:【仓鼠的数学题】
  3. selenium定位方式
  4. 在ionic2中集成swiper插件
  5. 【逆向工具】使用x64dbg+spy去除WinRAR5.40(64位)广告弹框
  6. 数据解析(XML,JSON)
  7. 【Python笔记】网络爬虫——常用框架介绍以及 Scrapy 框架使用
  8. 命令行或终端ImportError:No module named(pycharm运行没问题)
  9. jq使用教程02_安装的问题
  10. 指定jupyter运行的conda环境和报错处理generator_to_async_generator