git 子模块管理(一个仓库中有多个子仓库)

使用 Git 子模块管理 B 和 C 仓库

在A仓库中维护B和C仓库

  1. 进入 A 仓库:

  2. 添加 B 和 C 作为子模块:

git submodule add https://your-repo-url/B.git B-repo
git submodule add https://your-repo-url/C.git C-repo
git commit -m "Add B and C as submodules"
git push origin main
  1. 同步和更新子模块(第一次):
# --init:初始化未初始化的子模块。
# --recursive:递归更新所有嵌套子模块(如果子模块中还有子模块)
git submodule update --init --recursive
  1. 同步子模块(后续维护)
# --remote:从远程仓库拉取最新提交。
# --merge:将最新的子模块变更合并到当前分支。
git submodule update --remote --merge
  1. 推送到远程仓库

粘贴远程仓库的同步指令

git remote add origin https://github.com/fly-t/bootloader_sdio.git
git branch -M main
git push -u origin main

拉取指定分支的子模块

  1. 进入子模块目录
cd B 
  1. 检查分支列表

查看子模块中的可用分支:

git branch -a     # 查看本地和远程分支
  1. 切换到指定分支
git checkout -b b1 origin/b1
  1. 更新子模块指向的分支

要让子模块始终跟踪 b1 分支,可以在主仓库的 .gitmodules 文件中指定分支:

[submodule "B"]
    path = B
    url = <子模块的URL>
    branch = b1  # 这里指定要跟踪的分支

然后执行以下命令更新:

git submodule update --remote --merge
  1. 提交更新到主仓库
cd ..
git add B
git commit -m "Update B submodule to branch b1"
git push
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值