当前位置: 首页 > article >正文

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

http://www.kler.cn/a/542120.html

相关文章:

  • Docker 部署 MySQL-5.7 单机版
  • 蓝桥杯---数青蛙(leetcode第1419题)
  • 【信息系统项目管理师-案例真题】2017下半年案例分析答案和详解
  • 深度学习|表示学习|Instance Normalization 全面总结|26
  • LeetCode 102. 二叉树的层序遍历题解
  • deepseek API开发简介
  • 02.10 TCP之文件传输
  • 北斗导航 | 基于多假设解分离(MHSS)模型的双星故障监测算法(MATLAB代码实现——ARAIM)
  • SQLServer的创建,表创建,主键,约束,模糊查询
  • 无人机图像拼接数据在GIS中的处理与分析、可视化与制图;无人机航拍;无人机生态环境监测、图像处理与GIS数据分析
  • YOLOv11融合[AAAI2025]的TBSN中的DilatedMDTA模块
  • PTC Windchill介绍
  • PDF另存为图片的一个方法
  • 函数指针(Function Pointer)与 typedef int (*FuncPtr)(int, int);typedef与using(更推荐)
  • SQL最佳实践(笔记)
  • 国产编辑器EverEdit - 批量替换功能
  • 【CXX-Qt】1.1 Rust中的QObjects
  • 2025全新JSP简约博客平台-免费开源
  • deepseek+“D-id”或“即梦AI”快速生成短视频
  • React 中级教程
  • zsh: command not found: conda
  • [Linux] 信号(singal)详解(二):信号管理的三张表、如何使用coredump文件、OS的用户态和内核态、如何理解系统调用?
  • Odoo17 0.1常见的QWeb 模板语言指令的详细总结
  • 【魔法阵——广义Dijkstra,DP】
  • 【Jetpack Compose】Color.kt 文件左侧没有显示颜色解决方法
  • Maven 版本管理与 SNAPSHOT 详解