Skip to content

git submodule

Git Submodule 允许你将一个 Git 仓库作为另一个 Git 仓库的子目录,同时保持提交的独立性。

# 在主仓库中添加子模块
git submodule add https://github.com/example/shared-lib.git libs/shared

这将: 克隆 shared-lib 仓库到 libs/shared 目录 创建 .gitmodules 文件,记录子模块信息 将子模块添加到暂存区

克隆包含子模块的仓库

sh
# 方法1:克隆后初始化
git clone https://github.com/example/main-project.git
cd main-project
git submodule init
git submodule update

# 方法2:克隆时直接包含子模块
git clone --recurse-submodules https://github.com/example/main-project.git

更新子模块

sh
# 进入子模块目录
cd libs/shared
git pull origin main

# 回到主仓库,提交更新的子模块引用
cd ../..
git add libs/shared
git commit -m "Update shared library to latest version"`

# 批量更新所有
git submodule update --remote

不好的地方

  • 管理混乱
  • 版本地狱,依赖复杂
本站访客数 人次 本站总访问量