DORIS - 执行 git submodule update --init --recursive 的目的是什么?

前言

bash 复制代码
以前,我们学习源码的时候只需要执行克隆命令即可,如下:
git clone https://github.com/rocky/doris.git
当我学习DORIS的时候,发现执行完上面的命令后,还需要执行如下命令:
git submodule update --init --recursive
所以,进行记录...

场景

某个项目/模块可能会依赖于其他模块或第三方库,项目本身的代码是一个独立的完整的代码仓库,并且不应该把依赖的模块或第三方库的代码直接放到该项目代码库中,但是本地编译的时候又会用到这些依赖的第三方库。

当我们在本地编译的时候,希望在本地能够实现自动的将依赖的模块或第三方库,拉取到该项目指定目录中。

所以,我们可以使用:git submodule 指令。

简介(以下内容来自互联网)

bash 复制代码
git submodule update --init --recursive
这是一个用于初始化并更新 Git 子模块的命令,其中包含了三个参数:

1. update:

告诉 Git 更新子模块。如果不指定此参数,Git 将不会更新子模块,而只是确保它们处于正确的提交状态。

2. --init:

告诉 Git 初始化尚未初始化的子模块。
如果你的仓库包含子模块,并且有些子模块尚未被初始化(通常是因为它们是在一个最新的版本中添加的),
那么使用这个参数将初始化这些子模块。

3. --recursive:

告诉 Git 递归地初始化和更新所有的子模块。如果子模块本身包含了其他子模块,那么使用这个参数将确保所有子模块都被正确初始化和更新。
因此,git submodule update --init --recursive命令的作用是确保所有子模块都被正确地初始化和更新到仓库中的最新状态。
相关推荐
梅梅绵绵冰1 小时前
Git分支管理
git
ys~~3 小时前
git学习
git·vscode·python·深度学习·学习·nlp·github
二进制_博客6 小时前
Doris2.x连载文章(2)
数据库·doris·mpp数据库
Rysxt_6 小时前
IDEA中Git隐藏更改(Stash)功能详解教程
数据库·git·intellij-idea·stash
Mr-Apple8 小时前
记录一次git commit --amend的误操作
大数据·git·elasticsearch
二进制_博客9 小时前
Doris2.x博客连载(1)
doris·mpp数据库
UVM_ERROR9 小时前
Git仓库损坏(Segmentation fault)修复实战:虚拟机环境下UVM项目救援指南
笔记·git·vscode·github·芯片
KG大数据9 小时前
Apache Doris 在 IOT 场景的实践与落地方案
物联网·doris·olap
j_xxx404_10 小时前
Linux:版本控制器Git(第一章)|历史|理解Git|相关git操作|提交冲突解决
linux·运维·git·ai
牛奔10 小时前
git本地提交后,解决push被拒绝 error: failed to push some refs to
大数据·git·elasticsearch·搜索引擎·全文检索