想了解更多开源请访问:前言如果你想贡献自己的开源社区的代码,学习如何提交PR是必不可少的。下面这篇文章会带你从零开始,一步步带你使用Git命令提交PR。接下来我就以我们SIG下属实验室的分库作为PR投稿对象,作为本次教学案例。相关术语以下是本文提到的相关Git命令或术语解释。有疑问可以回头看看。init:初始化一个空仓库。fork:指从源仓库复制一份到自己账号下的远程仓库。此时节点,两者的内容是一致的;后续需要手动同步。克隆:指的是将开源仓库下载到本地。add:该命令的作用是将修改后的内容写入暂存区。commit:指将暂存区中的变更提交到本地版本库,即在本地生成一条变更内容的记录。push:指将自己的修改记录(commit)提交到自己账号的远程仓库。pr:指将自己的修改从自己的远程仓库提交到源仓库。环境准备1、创建Gitee账号并绑定邮箱。这一步是进入Gitee官网注册,然后在设置里绑定邮箱,就不赘述了。2.签署DCO协议。这是开发商的原话。提交到OpenHarmony仓库后,官方测试人员会进行DCO测试。这里要注意签名邮箱是绑定在Gitee上的邮箱。签署DCO(openharmony.cn)。(3)fork远程仓库进入我们STZU_FSR_lab_for_OpenHarmony官方主仓库大赛,点击fork将代码拉取到我们自己的远程仓库。然后选择自己的目标仓库就大功告成了。下载Git第一步是下载Git。这部分网上资料很多,我就不赘述了。下载完成后,我们可以使用gitbash将仓库拉到本地,并进行上传等操作。将文件克隆到本地并将修改上传到远程仓库1.将远程仓库克隆到本地(Clone)我们首先右键选择一个空文件夹来存放远程仓库的内容,这里选择GitBashHere.负责远程仓库中的下载地址,如下图:然后输入:$gitclone+下载地址,我们就可以将远程仓库的内容下载到本地了。2.将修改的内容暂存到暂存区(add)这里我对文档做了一点修改,然后我们将修改提交到暂存区。仍然像上一步一样打开我们的gitbash。输入:$git添加。该命令将监视工作区的状态树,并用它来将工作期间的所有更改提交到暂存区。3、生成修改记录和注释(commit)然后我们输入以下命令,为暂存区的内容生成一条修改记录。$gitcommit-s-m"添加视频链接"-s是添加签名。-m参数表示可以直接输入后面的“信息”。注意这里必须加-s,否则无法通过官方仓库权限控制测试。4.上传到个人远程仓库(push),输入命令,然后等待上传。$gitpushoriginHEAD看到这里,我们就上传成功了!然后我们回到网页查看远程仓库,可以看到刚才确实有一条commit记录,文档也确实被修改了,所以我们完成了远程仓库从克隆到上传的一个完整过程。提交PR到源码仓库1.新建一个PR。接下来就是将我们个人远程仓库的修改通过pullrequest(PR)提交到源仓库。首先,我们在我们克隆的远程仓库中点击新建一个PullRequest。然后选择我们刚刚更改的分支,添加描述,然后提交。2.触发OpenHarmony源码仓库的权限控制进入我们的PR页面,在评论区可以看到权限控制触发提醒。那么我们最后一步就是在评论区评论sigstartbuild。当测试结果如下,就说明权限控制通过了,终于等到官方人员手动关门了。至此我们完成了从0到提交PR到OpenHarmony源码仓库的完整流程~原因访问控制检测失败下面总结一下我遇到的一些访问控制检测失败的原因:dcocheckfailed:gitee账号绑定的邮箱没有签署DCP协议,具体的签署方法在上面的文章中有提到.commit(修改记录)没有被签名,具体的签名方法在上面的文章中有提到。Codecompliancedetectionfailed:代码文件中包含二进制文件,如pdf文件等,需要删除二进制文件重新上传。了解更多开源知识,请访问:开源基础软件社区https://ost.51cto.com。
