从0开始到提交PR至OpenHarmony源仓库超详细教程

系统教程10个月前发布 wangzi
7 00

从0开始到提交PR至OpenHarmony源仓库超详细教程

​想了解更多关于开源的内容,请访问:​

​51CTO 开源基础软件社区​

​https://ost.51cto.com​

前言

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

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

从0开始到提交PR至OpenHarmony源仓库超详细教程

相关术语

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

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

环境准备

1、创建Gitee账号,并且绑定邮箱

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

2、签署DCO协议

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

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

签署DCO (openharmony.cn)。

(三) fork远程仓库

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

从0开始到提交PR至OpenHarmony源仓库超详细教程

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

从0开始到提交PR至OpenHarmony源仓库超详细教程

下载Git

首先是下载Git,这部分网上很多资料,就不过多赘述。

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

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

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

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

从0开始到提交PR至OpenHarmony源仓库超详细教程

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

从0开始到提交PR至OpenHarmony源仓库超详细教程

接着输入:

$ git clone + 下载地址

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

从0开始到提交PR至OpenHarmony源仓库超详细教程

2、暂存修改内容到暂存区(add)

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

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

输入:

$ git add .

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

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

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

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

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

从0开始到提交PR至OpenHarmony源仓库超详细教程

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

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

$ git push origin HEAD

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

从0开始到提交PR至OpenHarmony源仓库超详细教程

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

从0开始到提交PR至OpenHarmony源仓库超详细教程

提交PR至源仓库

1、新建PR

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

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

从0开始到提交PR至OpenHarmony源仓库超详细教程

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

从0开始到提交PR至OpenHarmony源仓库超详细教程

2、触发OpenHarmony源仓库门禁

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

从0开始到提交PR至OpenHarmony源仓库超详细教程

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

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

从0开始到提交PR至OpenHarmony源仓库超详细教程

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

门禁检测失败原因

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

  • dco检查失败:
  • 该gitee账号绑定的邮箱没有签署DCP协议,具体签署方法上面文章以及提到。
  • commit(修改记录) 没有进行署名,具体署名方法上面文章以及提到。
  • 代码合规检测失败:
  • 代码文件内含有二进制文件,比如pdf文件等,需要移除二进制文件并且重新上传。

​想了解更多关于开源的内容,请访问:​

​51CTO 开源基础软件社区​

​https://ost.51cto.com​​。

© 版权声明

相关文章