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命令的作用是确保所有子模块都被正确地初始化和更新到仓库中的最新状态。
相关推荐
高山莫衣4 小时前
git rebase多次触发冲突
大数据·git·elasticsearch
码农藏经阁4 小时前
工作中常用的Git操作命令(一)
git
kobe_OKOK_4 小时前
【团队开发】git 操作流程
git·elasticsearch·团队开发
码农垦荒笔记4 小时前
Git 安装闭坑指南(仅 Windows 环境)
windows·git
CC码码14 小时前
管理你的多个 Git 密钥(多平台多账号)
git·gitlab·github
CC码码14 小时前
管理你的多个 Git 密钥(单平台多账号)
git·gitlab·github
大卫小东(Sheldon)14 小时前
GIM 1.5发布了! 支持Windows系统了
git·ai·rust
flying jiang14 小时前
将大仓库拆分为多个小仓库
git
李boyang10 天前
Git(四):远程操作
git
荻野泽溪10 天前
Git新建分支并同步到远程
git