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学习资料

总结

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

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-02 11:46:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-02 11:46:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-02 11:46:01       82 阅读
  4. Python语言-面向对象

    2024-04-02 11:46:01       91 阅读

热门阅读

  1. openGL创建平面、立方体、圆柱体、斜面和棱柱Demo

    2024-04-02 11:46:01       39 阅读
  2. redis-Hash

    2024-04-02 11:46:01       39 阅读
  3. 【Vmware】 debian 12 安装教程

    2024-04-02 11:46:01       42 阅读
  4. C 练习实例96 - 字符串中的子串

    2024-04-02 11:46:01       36 阅读
  5. 计算机断层扫描采集软件

    2024-04-02 11:46:01       39 阅读
  6. vector容器(二)

    2024-04-02 11:46:01       39 阅读
  7. QT(6.5) cmake构建C++编程,多线程

    2024-04-02 11:46:01       36 阅读
  8. C++ hex转uint,uint 互相转换,uint转byte

    2024-04-02 11:46:01       41 阅读
  9. sql注入详解

    2024-04-02 11:46:01       36 阅读
  10. Qt QML 坐标转换函数

    2024-04-02 11:46:01       39 阅读