文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Android Git submodule怎么用

2023-06-25 11:59

关注

小编给大家分享一下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 <submodule_url> 命令可以在项目中创建一个子模块
先 cd 到 Cup 项目的根目录,执行以下命令

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

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

Android Git submodule怎么用

.gitmodules中的信息

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

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

git commit -m "add submodule xxx"git push

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

Android 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时候是这样的

Android Git submodule怎么用

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

Android Git submodule怎么用

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

submodule独立项目上的代码提交

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

Android Git submodule怎么用

删除 submodule

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

执行git submodule deinit Water之前

Android Git submodule怎么用

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

Android Git submodule怎么用

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

Android Git submodule怎么用

submodule 被移除

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

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯