千家信息网

Android Git submodule怎么用

发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,小编给大家分享一下Android Git submodule怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!引入假定我
千家信息网最后更新 2025年11月08日Android Git submodule怎么用

小编给大家分享一下Android Git submodule怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

引入

假定我们有两个项目:Cup 和 Water,其中 Cup 表示主项目,而 Water 表示子模块项目。

其中 Cup 的远程仓库地址为 git@github.com:SkyMissT/Cup.git
而 Water 的远程仓库地址为 git@github.com:SkyMissT/Water.git

接下来,我们希望在 Cup 中添加 Water ,而又保持 Water 自身独立的版本控制。

创建 submodule

使用 git submodule add 命令可以在项目中创建一个子模块
先 cd 到 Cup 项目的根目录,执行以下命令

git submodule add git@github.com:SkyMissT/Water.git

此时项目仓库中会多出两个文件:.gitmodules 和 water

.gitmodules中的信息

[submodule "Water"]        path = Water        url = git@github.com:SkyMissT/Water.git

添加后要再提交一次,远程才能有信息

git commit -m "add submodule xxx"git push

此时再看git库,这里的Water文件夹,点击会跳到Water的git库,至此submodule添加成功

拉取带有 submodule 的项目

带有submodule的项目直接用 git clone git@github.com:SkyMissT/Cup.git 拉下的代码是不包含 submodule 代码的

git clone git@github.com:SkyMissT/Cup.git --recurse-submodules

这样会递归地将项目中所有子模块的代码拉取。另外一种可行的方式是,在当前主项目中执行:

git submodule initgit submodule update

则会根据主项目的配置信息(.gitmodules),拉取更新子模块中的代码。

本地配置

配置 setting.gradle

include ':Water:app'

配置 build gradle

implementation project(path: ':Water:app')

代码提交

主项目上的代码提交

比如我们主项目与module都做了修改,commit时候是这样的

可以选择只提交一部分,也可以都选择提交,提交到他们各自的仓库,再看 push 的样子

与commit情况类似,可选择的push到远程库

submodule独立项目上的代码提交

与一般的代码提交一样,操作都一样。主项目中的submodule模块push后Water项目该有的全有,Water项目push后主项目也会有

删除 submodule

//  修改 .git/config ,删除 Water 文件下所有的代码git submodule deinit Water

执行git submodule deinit Water之前

执行git submodule deinit Water之后,submodule"Water"被移除

//  .gitmodule 文件内容清空,删除 Water 文件夹git rm Water//  提交代码git commit -m "rm Water"//  推到远程git push

submodule 被移除

以上是"Android Git submodule怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

项目 代码 文件 模块 仓库 配置 信息 内容 篇文章 选择 两个 命令 地址 文件夹 独立 可行 成功 接下来 不怎么 主项 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 福州求职软件开发 传奇世界数据库添加法师宝宝 AI量化交易软件开发 安徽嵌入式软件开发费用 java数据库查询语句 安国市玖信网络技术 吃鸡登录服务器遇到问题咋回事 教育部小学生网络安全知识 419网络安全讲话内容 缺网络技术人员怎么办 nw.js 数据库 静安区品质软件开发供应商 战地1显示无法与ea服务器连接 软件开发报名时间 软件开发工具包价格 软件开发专业怎么答辩 网络安全实训基地共建协议 阿里云源代码如何布置到服务器上 网络安全签名给我接一下 奇安信云南网络安全培训基地 迅捷微风 服务器 天象网络技术南京分公司地址 福山区游戏软件开发企业 中国安卓笔记本服务器哪个好 宝山区项目软件开发服务介绍 湛江微宝网络技术有限公司 按哪个键可以刷新数据库的显示 阿里云源代码如何布置到服务器上 网络安全技能大赛颁奖 mysql数据库转换
0