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命令的作用是确保所有子模块都被正确地初始化和更新到仓库中的最新状态。
相关推荐
Qter3 小时前
GIT代码提交规范模板
git
nan_black4 小时前
在conda虚拟环境安装GIT并且克隆github上项目指南(解决443问题)
git·github·conda
前端付杰4 小时前
BFG Repo-Cleaner 教程:快速清理 Git 仓库中的敏感数据和大文件
javascript·git·github
大哥喝阔落5 小时前
git操作0409
大数据·git·elasticsearch
FixBug_Nick1 天前
Jenkins配置的JDK,Maven和Git
java·git·jdk·jenkins·maven
weixin_461259411 天前
git命令自动拉去远程分支到本地
git
程序猿chen1 天前
JVM考古现场(十七):鸿蒙初辟——从太极二进到混沌原初的编译天道
开发语言·jvm·git·后端·程序人生·java-ee·改行学it
早已忘记1 天前
git命令
大数据·git·elasticsearch
愚润求学1 天前
【Linux】Git的简单使用
linux·服务器·git
HahaMonsters1 天前
Git 中回退版本后修改并提交
git