数字媒体艺术 计算机科学与技术 软考报名 信息处理技术员 行业资讯 考试大纲 直播动态 网络安全 网络管理 通信技术 OpenHarmony 计算机与网络 企业信息化 软件工程 Linux 嵌入式Linux开发基础(ARMAtom) 离散数学 操作系统 C++程序设计 Java 语言程序设计 智能感知与无人系统 机器学习算法与人工智能 Python 软考资讯
想要在开源社区中贡献自己的代码,学会提交PR是必不可少的,下面这篇文章就带大家从零开始,一步一步带大家使用Git命令提交PR。
下面我就以我们实验室在SIG下的子仓库作为PR提交对象,来作为本次的教学案例。
下面是这次文章中提到相关的Git命令或者术语解释,如果看着有疑惑可以翻回来看看。
init:初始化空仓库。
fork:指的是从源仓库中复制一份拷贝到自己账号下的远程仓库,在这个时间节点下两者的内容一致; 后续需要不断的手动完成同步。
clone:指的是将开源仓库下载到本地。
add:该命令作用是将修改的内容写入暂存区。
commit:指的是将暂存区里的改动给提交到本地的版本库,也就是将改动的内容在本地生成一次记录。
push:指的是将自己的修改记录(commit)提交到本人账号的远程仓库下。
pr:指的是将自己的修改从自己的远程仓库下提交到源仓库下。
这一步进入Gitee官网进行注册,然后在设置中绑定邮箱即可,就不过多赘述。
这是一个开发者原创声明,在提交到OpenHarmony仓库的时候,官方检测人员会有DCO的检测。
这里注意签署的邮箱是Gitee绑定的邮箱即可。
签署DCO (openharmony.cn)。
进入我们STZU_FSR_lab_for_OpenHarmony官方主仓contest,点击fork即可将代码拉到我们自己的远程仓库。
接着选择自己的目标仓库就完成了。
首先是下载Git,这部分网上很多资料,就不过多赘述。
下载好后,我们就可以使用git bash来拉取仓库到本地,以及上传等操作了。
我们先右键选择一个要存放远程仓库内容的空文件夹,选择Git Bash Here。
在远程仓库中负责下载地址,如下图:
接着输入:
$ git clone + 下载地址1.
我们就可以将远程仓库的内容下载到本地。
这里我已经对文档做了一点修改,然后我们就将修改提交到暂存区。
还是像上一步一样打开我们的git bash。
输入:
$ git add .1.
该命令会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区。
接着我们输入如下命令,将暂存区的内容生成一次修改记录。
$ git commit -s -m “添加视频链接”1.
-s作用是添加署名。
-m 参数表示可以直接输入后面的“message”。
这里注意一定要加-s,否则无法通过官方仓库门禁检测。
输入一下命令,然后等待上传即可。
$ git push origin HEAD1.
看到这样,我们就算是上传成功了!
接着我们回到网页里面查看远程仓库,可以看到确实有刚刚的提交记录,并且文档也确实修改了,到此我们就完整的完成了一个从克隆到上传远程仓库的完整流程。
接下来就是将我们个人远程仓库的修改通过pull request(PR)提交到源仓库。
首先我们在自己克隆的远程仓库点击新建Pull Request。
然后选择我们刚刚改动的分支,然后添加描述,进行提交即可。
进入我们的PR页面,可以看到评论区有门禁触发提醒。
然后我们最后一步就是在评论区评论 sig start build。
当检测结果如下,就说明门禁通过了,最后等待官方人员手动合入即可。
到此我们就完成了从0到提交PR至OpenHarmony源仓库的完整过程啦~
下面是部分我遇到的门禁检测失败原因总结:
dco检查失败:
该gitee账号绑定的邮箱没有签署DCP协议,具体签署方法上面文章以及提到。
commit(修改记录) 没有进行署名,具体署名方法上面文章以及提到。
代码合规检测失败:
代码文件内含有二进制文件,比如pdf文件等,需要移除二进制文件并且重新上传。
© 2019-2021 All rights reserved. 北京转创国际管理咨询有限公司 京ICP备19055770号-1
Beijing TransVenture International Management Consulting Co., Ltd.
地址:佛山市金融高新区京华广场
北京市大兴区新源大街25号院恒大未来城7号楼1102室
深圳市福田区华能大厦
深圳市南山区高新科技园南区R2-B栋4楼12室
梅州市丰顺县留隍镇新兴路881号
汕头市金平区华坞村七巷三楼
长沙市芙蓉区韶山北路139号文化大厦
欢迎来到本网站,请问有什么可以帮您?
稍后再说 现在咨询