OpenHarmony实战:代码上库

前言

到达这一步好比临门一脚,意义很大!您的代码被合入 OpenHarmony 平台,这是最后的一道关口,保证合入的是正确的,并且不会对系统造成意外。

避坑指南

1. 填写 ISSUE 和 PR 按照规范进行

  • ISSUE 和 PR 填写不规范会被扣分,甚至不予合入;

2. 一个 ISSUE 与多个 PR 关联

  • 一个 ISSUE 主题有多个 PR, 需要全部关联;
  • 涉及多个仓,建议用字母顺序的第一个仓建立 ISSUE, 并且按顺序提交 PR;

3. 如果修改的仓特别多,存在编译依赖,而且不能一批上完,有什么要注意的?

  • BUILD.gn 和 CMakefile 最后提交,也就是让先提交的代码不参与编译;

4. 被合入之后要不要下载镜像测试一下?

  • 上库的人众多,不能保证你修改的代码短期内不会被人修改回去,另外 OpenHarmony 服务器上的编译环境可能与你的环境有差异,有必要下载镜像测试一下。
  • CI 日构建镜像链接: http://ci.openharmony.cn/workbench/cicd/dailybuild/dailylist

5. 功能性代码,只有被测试人员测试通过,并且其他问题不会溯源到你这里,才代表这一笔合入真正完成。

三、 登录 gitee、拉取代码

没有注册请先注册 gitee 账号

1.1 打开 www.gitee.com 官网登录个人账户

1.2 打开 openharmony 网页 https://gitee.com/openharmony

打开仓库页面

1.3 选择要修改的仓库

点击 1 处仓库,在 2 处搜索仓库,输入所要搜索的仓库名,按回车键,点击要进入的仓库。

1.4 从公仓 forked 到私仓

进入所要拉取的仓,点击 forked 将公共仓拷贝 1 份到私仓下。

1.5 查看私仓

回到个人主页,1 处的 watches,会显示已经拷贝的公共仓

1.6 进入私仓,复制代码链接

进入私仓点击 1 处的克隆/下载,选择 2 处的 SSH,点击 3 处的复制。

1.7 在虚拟机家目录新建拉取代码仓的文件夹,例如 fix,进入该文件夹后执行

  1. 克隆私仓代码到本地
mkdir fix
cd fix
git clone [email]git@gitee.com[/email]:XXXXXXX/drivers_framework.git
  1. 修改这一部分相关代码
    后续的修改在这里进行,主要使用比较工具(BeyondCompare)将修改的内容同步到这里,保证新修改的功能是正确的,并且不影响其他功能,就可以上传了。

四、在公仓创建 ISSUE

上库代码必须保证是正确的,就可以进行上库操作。

4.1 在 https://gitee.com/openharmony 找到要修改的公仓

4.2 点击进入在进入的公仓下创建 ISSUE

记住 ISSUE 号,后续 PR(Pull Requests)需要关联。

4.3 描述新建的 ISSUE

选择任务还是需求、缺陷还是安全问题。描述具体的操作,可以是中文也可以是英文,底下为具体的任务描述解决方案。

五、上库

5.1 在本地拉取的代码目录执行下面命令进行上库

在拉取的 fix 文件夹下,再进入下一级文件夹

git status     查看状态确定修改是自己操作修改的文件【红色】
git add .      提交本地当前的变化
git status     查看状态是否已提交本地当前的变化【绿色】
git commit -sm "XXX"   描述修改了什么进行了什么操作使用英文
git push -f origin master 本地强制上传到私仓,把私仓覆盖。

5.2 私仓下创建 PR

  1. 填写 PR 信息
    在 www.gitee.com 私仓,在要提交的私仓下创建 PR(Pull Requests) 描述关联相关的 Issue, 原因(目的、解决问题),描述(做了什么,变更了什么),测试用例(有则描述,没有写无)。

  2. 选择将要合并的分支
    PR 创建默认状态是未开启的,合并可以选择分支是 gitee 主干还是其他分支。默认为 master 主干。

5.3 评论 start build 触发门禁,进行构建

在创建好的 PR 下,评论 start build 触发门禁。

5.4 构建完成后,CodeCheck 错误需要接口人屏蔽的情况

不用修改代码,重新 start build, 直到 CodeCheck 错误消失

5.5 构建完成后,CodeCheck 错误需要修改的情况

修改完 CodeCheck,需要重新提交一次,再触发 start build,二次修改提交指令列表:

git add .
git commit --amend -s
git push -f

5.6 非个人原因导致 CI 门禁失败,重新 start build, 直到全部成功,全部成功如图

5.7 最终构建完成

构建完成,无 CodeCheck 错误,找接口人代码检视 review,没有问题他会点赞加分,最后找该仓负责人合入 merge。

恭喜您

您已成为 OpenHarmony 贡献者一员了。今后阅读代码、开发代码、测试功能将充满您后续的职业生涯。

最后

有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(HarmonyOS NEXT)资料用来跟着学习是非常有必要的。 

这份鸿蒙(HarmonyOS NEXT)资料包含了鸿蒙开发必掌握的核心知识要点,内容包含了ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(HarmonyOS NEXT)技术知识点。

希望这一份鸿蒙学习资料能够给大家带来帮助,有需要的小伙伴自行领取,限时开源,先到先得~无套路领取!!

获取这份完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料

鸿蒙(HarmonyOS NEXT)最新学习路线

  •  HarmonOS基础技能

  • HarmonOS就业必备技能 
  •  HarmonOS多媒体技术

  • 鸿蒙NaPi组件进阶

  • HarmonOS高级技能

  • 初识HarmonOS内核 
  • 实战就业级设备开发

有了路线图,怎么能没有学习资料呢,小编也准备了一份联合鸿蒙官方发布笔记整理收纳的一套系统性的鸿蒙(OpenHarmony )学习手册(共计1236页)鸿蒙(OpenHarmony )开发入门教学视频,内容包含:ArkTS、ArkUI、Web开发、应用模型、资源分类…等知识点。

获取以上完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料

《鸿蒙 (OpenHarmony)开发入门教学视频》

《鸿蒙生态应用开发V2.0白皮书》

图片

《鸿蒙 (OpenHarmony)开发基础到实战手册》

OpenHarmony北向、南向开发环境搭建

图片

 《鸿蒙开发基础》

  • ArkTS语言
  • 安装DevEco Studio
  • 运用你的第一个ArkTS应用
  • ArkUI声明式UI开发
  • .……

图片

 《鸿蒙开发进阶》

  • Stage模型入门
  • 网络管理
  • 数据管理
  • 电话服务
  • 分布式应用开发
  • 通知与窗口管理
  • 多媒体技术
  • 安全技能
  • 任务管理
  • WebGL
  • 国际化开发
  • 应用测试
  • DFX面向未来设计
  • 鸿蒙系统移植和裁剪定制
  • ……

图片

《鸿蒙进阶实战》

  • ArkTS实践
  • UIAbility应用
  • 网络案例
  • ……

图片

 获取以上完整鸿蒙HarmonyOS学习资料,请点击→纯血版全套鸿蒙HarmonyOS学习资料

总结

总的来说,华为鸿蒙不再兼容安卓,对中年程序员来说是一个挑战,也是一个机会。只有积极应对变化,不断学习和提升自己,他们才能在这个变革的时代中立于不败之地。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/584102.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Meta Pixel:助你实现高效地Facebook广告追踪

Meta Pixel 像素代码是用來衡量Facebook广告效果的一个官方数据工具,只要商家有在Facebook上投放广告就需要串联Meta Pixel 像素代码来查看相关数据。 它本质上是一段 JavaScript 代码,安装后可以让用户在自己网站上查看到访客活动。它的工作原理是加载…

[leetcode] 48. 旋转图像

文章目录 题目描述解题方法旋转模拟java代码复杂度分析 相似题目 题目描述 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示…

基于8086数码管数字钟计时器设计

**单片机设计介绍,基于8086数码管数字钟计时器设计 文章目录 一 概要二、功能设计三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于8086数码管数字钟计时器设计是一个结合了微处理器控制、数码管显示以及计时功能的综合性项目。通过此设计,我们…

flume配置文件后不能跟注释!!

先总结:Flume配置文件后面,不能跟注释,可以单起一行写注释 报错代码: [ERROR - org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:158)] Unable to deliver event. Exception follows. org.apache.flume.EventDel…

Python问题列表

文章目录 1、使用pip安装的模块都存放到哪里了?2、安装fitz包报错,如何解决?3、python代码运行时,控制台输出乱码如何解决。4、vscode中第三方库不自动补齐 1、使用pip安装的模块都存放到哪里了? 答: pip是…

服务器停止解析域名,但仍然可以访问到

1.centos7 如何刷新dns缓存 在CentOS 7上,DNS缓存由nscd(Name Service Cache Daemon)管理,如果系统上安装了nscd,可以通过清除nscd缓存来刷新DNS缓存。 要刷新DNS缓存,请执行以下命令: sudo …

2024年美团笔试题(1)

一.题目描述 小美拿到了一个排列,其中初始所有元素都是红色,但有些元素被染成了白色。 小美每次操作可以选择交换任意两个红色元素的位置。她希望操作尽可能少的次数使得数组变成非降序,你能帮帮她吗? 排列是指:一个长度为n的数组&#…

怎么将doc文件转化为docx?一键doc转docx

在日常生活和工作中,我们经常会遇到需要将doc文件转换为docx格式的情况。这种转换可能是因为我们需要使用最新版本的Microsoft Word来处理文档,或者是因为docx格式提供了更多的功能和优势。下面,我将详细介绍如何将doc文件转化为docx格式&…

【御控物联】JavaScript JSON结构转换(14):对象To数组——规则属性重组

文章目录 一、JSON结构转换是什么?二、术语解释三、案例之《JSON对象 To JSON数组》四、代码实现五、在线转换工具六、技术资料 一、JSON结构转换是什么? JSON结构转换指的是将一个JSON对象或JSON数组按照一定规则进行重组、筛选、映射或转换&#xff0…

强制不换行,

white-space:nowrap强制不换行,效果如下

反弹shell的方法和场景

Netcat反弹Shell 1 NC正向反弹shell Netcat简称NC,是一个简单、可靠的网络工具,被誉为网络界的瑞士军刀。通NC可以进行端口扫描、 反弹Shell、端口监听和文件传输等操作,常用参数如下: -c指定连接后要执行的shell命令-e指定连接后要执行的文件名-k配置 Socket一…

这些生活中常用的东西到底要怎么寄?

寄生活中这些常见的“大家伙”,不用发愁啦! 看看德邦快递专业包装,如何保驾护航。 01、行李怎么寄? 如果是装有物品的行李箱:1.使用气泡膜包裹物品,轮子部位加强缓冲物防护; 2.放入适配纸箱&am…