当前位置:网站首页>openharmony萌新贡献指南
openharmony萌新贡献指南
2022-07-27 09:08:00 【华为云】
本篇教程旨在帮助萌新们一起参与到OpenHarmony的开源事业中,让每个人成为开源人,星星之火,可以燎原!最下面有我的入群方式。
在这之前先说一下,
官方的T恤
我的鸿蒙书籍
我的小鸟摆件
活动范围涵盖OpenHarmony主干仓、SIG仓、三方库,共计1000+个代码仓:
OpenHarmony主库组织地址:
OpenHarmony SIG组织地址:
https://gitee.com/openharmony-sig
OpenHarmony三方库组织地址:
https://gitee.com/openharmony-tpc
前提条件
有一个,没有的话,记得
如果Git基础薄弱,也是可以用图形化界面
windows推荐
mac推荐
接下来就是手把手的环节了
这儿也有两个图片可以看一下
一、配置Git
1.注册
地址: https://gitee.com/注册码云账号,只要点击导航条中的“注册”,或者点击首页中那个大大的“加入码云”按钮,即可进入注册页面。

输入账号、邮箱、密码,然后点击注册按钮.
注册的时候最好取一个有意义的名字,比如姓名全拼,昵称全拼,如果被占用,可以加上有意义的数字.
注册完官方会向大家的邮箱发送一份激活邮件,请点击其中的链接激活账号,账号激活后,注册流程就算完成了。注册完毕即以新注册的账号登录,登录后即进入用户的控制面板页面。
找不到ssh-keygen命令是因为你的工作目录不在ssh-keygen.exe所在目录下,导致找不到命令,所以切换工作目录到ssh-kengen所在目录(Git/usr/bin/)即可。以我为例,我的Git安装在D盘Git下,所以进行操作 cd D:/Git/usr/bin/ ,然后执行 ssh-keygen -t rsa -C “您的邮箱地址” 即可
2.公钥认证管理
开发者向码云版本库写入最常用到的协议是 SSH 协议,因为 SSH 协议使用公钥认证,可以实现无口令访问,而若使用 HTTPS 协议每次身份认证时都需要提供口令。使用 SSH 公钥认证,就涉及到公钥的管理。
3.如何生成ssh公钥
你可以按如下命令来生成sshkey:
这个邮箱就是你的上面的邮箱
ssh-keygen -t rsa -C "[email protected]" # Generating public/private rsa key pair...# 三次回车即可生成 ssh key比如我的
ssh-keygen -t rsa -C "[email protected]" 然后三次回车即可生成 ssh key,
查看你的 public key,
mac
cat ~/.ssh/id_rsa.pub# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....windows
在C:\Users\用户.ssh目录下找到id_rsa.pub复制里面所有内容

4.添加public key到码云
并把他添加到码云(Gitee.com)

添加后,在终端(Terminal)中输入
ssh -T [email protected]若返回
Welcome to Gitee.com, yourname!则证明添加成功。
二、DCO签署
1.DCO签署网址
2.签署DCO
注意:
DCO签署Name 必须要和git config --global user.name 设置保持一致(其实不一致也可以,但一致之后少麻烦)
DCO签署E-mail必须要和git config --global user.email设置保持一致

3.修改本地的邮箱和签署邮箱一致
git config --global user.name "你的名字" git config --global user.email "你的gitee绑定邮箱"git config --global --list比如我的:
git config --global user.name "徐建国" git config --global user.email "[email protected]"git config --global --list三、提交代码
1.下载代码
1.1找到要提交代码的社区代码仓,fork一个到自己的私有仓中;
比如我fork的是docs仓
原地址:https://gitee.com/openharmony/docs
fork后:https://gitee.com/jianguo888/docs
而你后面要git clone的就是后者。

1.2复制自己私有仓的“克隆/下载”中的HTTPS/SSH链接下载代码
本地创建工作区,然后
git clone https://gitee.com/你的giteeID/docs.git比如我的
git clone https://gitee.com/jianguo888/docs.git
2.提交代码
2.1将修改的代码合入到提交代码仓中;
必须添加邮箱,否则后面的doc校验不过
切记:提交的时候必须是-s -m
-s的意思就是带了你的signoff
git add .git commit -s -m '修改信息' // 提交信息包括你的概要信息git push -f origin master 比如我的:
git add .git commit -s -m '修改redeme提高可读性 ' // 提交信息包含signoff邮箱git push -f origin master 2.2如何追加signoff到上一次commit?
执行git commit --amend --signoff命令 。
2.3如果是对同一个问题修改
git commit --amend通常推荐一个一个commit解决一个问题
四、提交ISSUE
1.(不是fork的代码仓),同时注意建Issue有很多选项类型可选择,根据实际情况选择
名称
【OpenHarmony开源贡献者计划2022】+Issue内容描述


2.创建成功会生成一个#XXXXX(I5E2H2)的IssueID,后续提交PR可以关联,关联PR合入,Issue就会自动关闭。

五、提交PR
1.代码提交到自己的私有仓,刷新,点击“+ Pull Request”建PR合入代码到社区主代码仓;

2.进入PR提交界面,可选择代码仓库分支,和关联ISSUE ID,简单描述合入的PR修改等信息;

标题都是【OpenHarmony开源贡献者计划2022】+你修改的任务摘要
比如我的:
【OpenHarmony开源贡献者计划2022】+智能家居中控

关联ISSUE ID
第一步查看自己的issues ID

第二步添加到自己的Pull request的描述里

3.PR建立成功,首先默认进行DCO检查,检查成功,需要手动在评论区输入回复”start build”方可进入代码的CI静态检查和编译等操作。

六、联系committer
committer:https://gitee.com/openharmony/community/blob/master/zh/committer.md
1. committer文档中找到对应的committer负责人主页,想办法联系
这一步,可以找我沟通就好,我帮大家联系。
我是在committer发现负责人,然后微信搜索,群里捞到的。


参考资料
坚果的小伙伴们提的Pr
悠悠森:https://gitee.com/openharmony/docs/pulls/6910
https://gitee.com/openharmony/docs/pulls/6921
https://gitee.com/openharmony/docs/pulls/6937
https://gitee.com/openharmony-sig/knowledge_demo_entainment/pulls/35
边栏推荐
- 音乐体验天花板!14个网易云音乐的情感化设计细节
- Is it safe to buy funds every day? Online and other answers
- Pyqt5 rapid development and practice 4.1 qmainwindow
- QDoubleValidator不生效问题解决办法
- CUDA programming-01: build CUDA Programming Environment
- Hangzhou E-Commerce Research Institute released an explanation of the new term "digital existence"
- MySQL基础知识学习(一)
- vscod
- 500 error reporting
- js call和apply
猜你喜欢

Understand various IOU loss functions in target detection

flex布局 (实战小米官网)

Music experience ceiling! Emotional design details of 14 Netease cloud music

NiO Summary - read and understand the whole NiO process

Five kinds of 2D attention finishing (non local, criss cross, Se, CBAM, dual attention)

【进程间通信IPC】- 信号量的学习

Restful

Can "Gulangyu yuancosmos" become an "upgraded sample" of China's cultural tourism industry

数智革新

Network IO summary
随机推荐
07_ Service registration and discovery summary
[acl2020] a novel method of component syntax tree serialization
500 error reporting
A survey of robust lidar based 3D object detection methods for autonomous driving paper notes
【每日算法Day 96】腾讯面试题:合并两个有序数组
flex布局 (实战小米官网)
对 int 变量赋值的操作是原子的吗?
【进程间通信IPC】- 信号量的学习
Tensorflow loss function
Encountered 7 file(s) that should have been pointers, but weren‘t
How to deploy yolov6 with tensorrt
2034: [Blue Bridge Cup 2022 preliminary] pruning shrubs
Explain cache consistency and memory barrier
linux下安装oracle,本地PL/SQL连接Linux下的oracle导入表并新建用户和密码
Antdesign a-modal自定义指令实现拖拽放大缩小
新年小目标!代码更规范!
[nonebot2] several simple robot modules (Yiyan + rainbow fart + 60s per day)
Built in method of tensorflow model training and evaluation
Some practical, commonly used and increasingly efficient kubernetes aliases
CUDA programming-02: first knowledge of CUDA Programming