首页
学习
活动
专区
工具
TVP
发布

理解Git Submodules

针对诸如此类的情况,一般有3种解决方案: npm package:把依赖项拆出去作为npm package,代码库随之独立出去 monorepo:单repo体积庞大没关系,分模块管理好就行 git submodules...git submodules提供了一种类似于npm package的依赖管理机制,包括添加、删除、更新依赖项等功能,区别在于前者所管理的依赖是子模块的源码,后者管理的是子模块的构建产物。...在这一点上,git submodules与monorepo一致(都关心子模块的源码) 这样主项目需要与子模块频繁联调时的麻烦就不复存在了,因为主项目拉取到的submodules都是完整repo,可以直接修改...-构建-提交 二.submodules与monorepo 从结构上看,submodules项目的主repo与monorepo很像,相当于把monorepo里的各模块抽离到了独立repo,仅记录主repo...参考资料 GETTING GIT SUBMODULE TO TRACK A BRANCH 7.11 Git Tools – Submodules Using Git Submodules Git submodule

2.4K71
您找到你想要的搜索结果了吗?
是的
没有找到

Git Submodules 介绍(通俗易懂,总结了工作完全够用的 submodule 命令)

我使用的方案中,Git Submodules 承担着非常重要的角色。今天先给大家介绍下 Git Submodules,以后我会给大家更详细的介绍如何管理不同项目的公共依赖。为什么你值得读这篇文章?...本文会根据我的大量的 submodules 实践经验(包括工作和个人开发),只解释常用的命令。当你了解这些命令,你完全可以像我一样使用 Git Submodules。为什么有 submodules?...如果你不带参数[submodule文件夹相对路径],就会更新所有 submodules。注意事项,更新后需提交主项目变更。...(就是有个父项目有儿子、也有孙子、还有祖孙子等等,通过--recurse-submodules或--recursive参数)。...想了解,可以阅读 Git Submodules 官方文档,搜索命令相关关键字:英文文档:https://www.git-scm.com/book/en/v2/Git-Tools-Submodules中文文档

11.6K124

git 系列 — git submodule 命令及其用法

recursive 可以将上述多条命令替换成一条命令: # clone 时一同初始化并checkout子模块commit,且会拉取嵌套的子模块(即子模块又包含它引用的子模块) git clone --recurse-submodules...以防止主项目又新添加了子模块,或者子模块中新增嵌套的子模块 git submodule update --init --recursive 可以替换成一条命令: git pull --recurse-submodules...所以远程仓库的子模块未更新,导致其他人不会获取子模块的更新,可以使用以下命令防止这种情况: # 在主模块 push 之前,检查子模块是否 push,包括嵌套子模块 git push --recurse-submodules...=check # 在主模块 push 之前,自动 push 子模块,包括嵌套子模块 git push --recurse-submodules=on-demand 最后 更详细的信息请查看: git...submodule 文档 https://git-scm.com/book/en/v2/Git-Tools-Submodules 上述文章表述或者在实践中有任何问题,欢迎联系我。

1.9K20

API 工程化分享

概要 本文是学习B站毛剑老师的《API 工程化分享》的学习笔记,分享了 gRPC 中的 Proto 管理方式,Proto 分仓源码方式,Proto 独立同步方式,Proto git submodules...方式以仓库中目录形式来承载 git submodules 介绍 子模块允许您将 Git 存储库保留为另一个 Git 存储库的子目录。...其次才是 git submodules,这也是 Google 的建议 我们倾向于最终 proto 的管理是集中在一个仓库里面,并且只有一份,不会做任何的 copy,通过 submodules 引入到自己的微服务里面...,现在你可以理解为这个 API 目录是另外一个仓库的 submodules,最终你是把这些信息提交到那个 submodules,然后通过 reference 这个 submodules 获取到最新的版本...https://mp.weixin.qq.com/s/cBXZjg_R8MLFDJyFtpjVVQ git submodules https://git-scm.com/book/en/v2/Git-Tools-Submodules

49630

vivo官网App模块化开发方案-ModularDevTool

首先看下工程目录概览1、submodules目录是用来存放子仓代码的,子仓代码就是正常的工程结构,submodules目录如下图:2、repositories.xml文件是用来配置子仓信息的,包括模块名.../vsub.sh sync:拉取所有子模块代码,代码存放在主工程下的submodules目录中..../vsub.sh -pull的实现逻辑,首先是cd进入submodules目录(submodules目录存放了所有子仓代码),然后遍历进入子仓目录执行git pull --rebase命令,从而实现一个命令完成对所有子仓的相同.../vsub.sh -pull代码逻辑 --> cd submodules path=$currPath files=$(ls $path) for fileName in $files do if.../vsub.sh sync命令将所有子模块的代码拉取到主工程的submodules目录中。

72730
领券