logo
Tags

Yingyu's Magic World

Github 创建,引用现有的子仓库

[Github] 如何在github创建仓库中引用现有的子仓库

要在 GitHub 仓库中引用现有的子仓库,通常有两种方法:Git 子模块(Git Submodules)和 Git 子树(Git Subtrees)。此处仅进行 子模块 方法介绍。

方法一:使用 Git 子模块(推荐)

步骤 1:添加子模块

git submodule add <子仓库URL> <本地路径>
# 示例:将 my-subrepo 仓库添加到 main-repo 的 sub/ 目录下
git submodule add https://github.com/用户名/my-subrepo.git sub/

因为部署原因,我这里想把YCSB公共库创建为我的子库,因此可以先fork YCSB公共库然后再进行git submodule add

步骤 2:提交更改

git add .gitmodules sub/
git commit -m "添加子模块 my-subrepo"
git push origin main

步骤 3:克隆包含子模块的仓库

当其他人克隆主仓库时,需要额外参数来初始化子模块:

git clone --recurse-submodules <主仓库URL>
# 或者克隆后手动初始化
git clone <主仓库URL>
cd 主仓库目录
git submodule init  # 初始化配置
git submodule update  # 拉取子模块代码