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命令的作用是确保所有子模块都被正确地初始化和更新到仓库中的最新状态。
相关推荐
Jooolin4 小时前
【编程史】Git是如何诞生的?这可并非计划之中...
linux·git·ai编程
Lw老王要学习8 小时前
VScode 使用 git 提交数据到指定库的完整指南
windows·git·vscode
去旅行、在路上9 小时前
Git & Svn
git·svn
abcnull9 小时前
github中main与master,master无法合并到main
git·github
养意15 小时前
git提交代码和解决冲突修复bug
git·bug
码农黛兮_461 天前
Git 常用命令大全
git
一弓虽1 天前
git 学习
git·学习
疯狂的沙粒2 天前
如何通过git命令查看项目连接的仓库地址?
大数据·git·elasticsearch
qq_254617772 天前
Gerrit+repo管理git仓库,如果本地有新分支不能执行repo sync来同步远程所有修改,会报错
git
π大星星️2 天前
Git分布式版本控制工具
分布式·git