欢迎光临
我们一直在努力

第6章:子模块与子树——大仓拆小仓的陷阱

本章你将彻底掌握:git submodule 的完整生命周期——添加、更新、克隆、删除。子模块 detached HEAD 状态的成因与解决方案。git subtree 与 git submodule 的对比与选型决策树。 配套资源:一个包含三个子模块的复杂依赖仓库 Docker 镜像、子模块批量更新脚本、subtree 合并推送脚本。 真实踩坑:我曾修改子模块代码后忘记提交,主仓库记录了不存在的 commit hash,导致 CI/CD 全线飘红;还曾因为子模块嵌套过深,git clone –recursive 花了 40 分钟,最后用 git subtree 彻底重构。


6.1 一个让全组加班到凌晨的子模块事故

2017 年我在某 AI 创业公司,项目依赖三个内部子模块:common/utils、common/config、common/ml-core。每个子模块都在独立的 Git 仓库中,通过 git submodule 嵌入主项目。

某天我修改了 common/utils 里的一个日志函数,在子模块目录下直接改了代码,git commit -m \”add log rotation\”,然后回到主项目执行 <

赞(0)
未经允许不得转载:171主机测评 » 第6章:子模块与子树——大仓拆小仓的陷阱
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址