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

Posted Mark_md

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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,也能很好的辨识出,如下图框选部分则为子模块。

以上是关于git submodule add子模块的添加,--recurse-submodules递归克隆子项目的主要内容,如果未能解决你的问题,请参考以下文章

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

如何`git submodule add`现有的子存储库?

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

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

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

Git 子模块:git submodule