• 【FFH】从0到提交PR至OpenHarmony源仓库详细教程


    前言

    ​ 想要在开源社区中贡献自己的代码,学会提交PR是必不可少的,下面这篇文章就带大家从零开始,一步一步带大家使用Git命令提交PR。

    ​ 下面我就以我们实验室在SIG下的子仓库作为PR提交对象,来作为本次的教学案例。

    image.png

    相关术语

    ​ 下面是这次文章中提到相关的Git命令或者术语解释,如果看着有疑惑可以翻回来看看。

    • init:初始化空仓库
    • fork:指的是从源仓库中复制一份拷贝到自己账号下的远程仓库,在这个时间节点下两者的内容一致; 后续需要不断的手动完成同步
    • clone:指的是将开源仓库下载到本地
    • add:该命令作用是将修改的内容写入暂存区
    • commit:指的是将暂存区里的改动给提交到本地的版本库,也就是将改动的内容在本地生成一次记录
    • push:指的是将自己的修改记录(commit)提交到本人账号的远程仓库下
    • pr:指的是将自己的修改从自己的远程仓库下提交到源仓库

    环境准备

    (一) 创建Gitee账号,并且绑定邮箱

    这一步进入Gitee官网进行注册,然后在设置中绑定邮箱即可,就不过多赘述。

    Gitee - 基于 Git 的代码托管和研发协作平台

    (二) 签署DCO协议

    这是一个开发者原创声明,在提交到OpenHarmony仓库的时候,官方检测人员会有DCO的检测。

    这里注意签署的邮箱是Gitee绑定的邮箱即可。

    签署DCO (openharmony.cn)

    (三) fork远程仓库

    进入我们STZU_FSR_lab_for_OpenHarmony官方主仓contest,点击fork即可将代码拉到我们自己的远程仓库。

    image.png

    接着选择自己的目标仓库就完成了。

    image.png

    下载Git

    ​ 首先是下载Git,这部分网上很多资料,就不过多赘述,下面附上一篇觉得还不错的下载以及配置教程:

    Git下载、安装与环境配置_糖葫芦的小黑屋的博客-CSDN博客_git安装

    ​ 下载好后,我们就可以使用git bash来拉取仓库到本地,以及上传等操作了。

    克隆文件到本地并且将修改上传至远程仓库

    (一) 克隆远程仓库到本地(Clone)

    我们先右键选择一个要存放远程仓库内容的空文件夹,选择Git Bash Here

    image.png

    在远程仓库中负责下载地址,如下图

    image.png

    接着输入:

    $ git clone + 下载地址
    
    • 1

    我们就可以将远程仓库的内容下载到本地

    image.png

    (二) 暂存修改内容到暂存区(add)

    这里我已经对文档做了一点修改,然后我们就将修改提交到暂存区

    还是像上一步一样打开我们的git bash

    输入:

    $ git add .
    
    • 1

    该命令会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区。

    (三) 生成修改记录并且备注说明(commit)

    接着我们输入如下命令,将暂存区的内容生成一次修改记录

    $ git commit -s -m “添加视频链接”
    
    • 1
    • -s作用是添加署名
    • -m 参数表示可以直接输入后面的“message”

    这里注意一定要加-s,否则无法通过官方仓库门禁检测。
    image.png

    (四) 上传到个人的远程仓库(push)

    输入一下命令,然后等待上传即可。

    $ git push origin HEAD
    
    • 1

    看到这样,我们就算是上传成功了!

    image.png

    接着我们回到网页里面查看远程仓库,可以看到确实有刚刚的提交记录,并且文档也确实修改了,到此我们就完整的完成了一个从克隆到上传远程仓库的完整流程

    image.png

    提交PR至源仓库

    (一) 新建PR

    接下来就是将我们个人远程仓库的修改通过pull request(PR)提交到源仓库

    首先我们在自己克隆的远程仓库点击新建Pull Request

    image.png
    然后选择我们刚刚改动的分支,然后添加描述,进行提交即可。
    image.png

    (二) 触发OpenHarmony源仓库门禁

    进入我们的PR页面,可以看到评论区门禁触发提醒

    image.png
    然后我们最后一步就是在评论区评论 sig start build

    当检测结果如下,就说明门禁通过了,最后等待官方人员手动合入即可。

    image.png

    到此我们就完成了从0到提交PR至OpenHarmony源仓库的完整过程啦~

    门禁检测失败原因

    下面是部分我遇到的门禁检测失败原因总结:

    • dco检查失败:

      • 该gitee账号绑定的邮箱没有签署DCP协议,具体签署方法上面文章以及提到。
      • commit(修改记录) 没有进行署名,具体署名方法上面文章以及提到。
    • 代码合规检测失败:

      • 代码文件内含有二进制文件,比如pdf文件等,需要移除二进制文件并且重新上传。

    最后

    https://gitee.com/HagonChan/contest/tree/master/2022_STZU_FSR_lab_for_OpenHarmony

    ​ 该子仓库是用于OpenHarmony&HarmonyOS南北向系统学习资料整合(长期更新),由深圳技术大学开源创客协会以及FSR实验室学生团队负责。

    ​ 仓库资料内容包括技术博客demo源码(Codelabs),项目成果视频展示等。

    ​ 仓库处于初步建立阶段,后续会不断填充学习内容,有建议的小伙伴可以跟我们反馈,觉得不错的小伙伴也可以点个star!

  • 相关阅读:
    科普ChatGPT
    RGD环肽:环六肽c(GRGDSP),CAS号: 135432-37-0
    完整卸载SQL Server2008
    微信支付V3开发问题-V3构造失败原因:java.security.InvalidKeyException: Illegal key size
    2022.7.26--IDEA(2021.3.1版本,未更新)配置MySQL(5.7.37)JDBC(jar包版本8.0.28)
    Redis的C客户端(hiredis库)使用
    ElasticSearch - 索引库和文档相关命令操作
    深度学习Course5第三周Sequence Models & Attention Mechanism习题整理
    python中使用缓存技术
    ORACLE insert 性能比较
  • 原文地址:https://blog.csdn.net/weixin_51914472/article/details/126533526