# 合作共建 ## 参与贡献 ### 注册账户 ​ 参与社区贡献的前提是必须有着社区对应的账号,如果已经有gitee账号的可以忽略此点。 1. 注册gitee.com 账号,并确保账号已绑定相应邮箱 2. 确保gitee账号中已添加 ssh 密钥。 ![image-20211102091626524](./resource/ssh_key.png) ### 签dco 协议 ​ 提交的pull request首先要经过dco检查,因此需要签署原子基金会的DCO协议。签署地址:[DCO协议签署](https://dco.openharmony.io/sign/Z2l0ZWUlMkZvcGVuX2hhcm1vbnk=) ​ 签署DCO协议的界面如下图: ​ ![img](./resource/dco_mark.jpg) 需输入相关姓名和 邮箱账号和邮箱接收到的验证码。其中,邮箱需要是gitee账号绑定的邮箱。个人绑定邮箱可以在【个人设置 - 邮箱管理】 中查看: ![image-20211102093952346](./resource/email.png) 为避免代码提交时发生错误,请保证 git 环境变量中的user.email 与gitee绑定的邮箱一致。可通过git config来查看git环境变量中的邮箱地址: ![image-20211102095530472](./resource/git_config.png) ### Fork 本仓库 ​ 进入到本仓库([地址](../)),然后点击右上角Forked,这个时候会将本仓fork到自己账户的名下。 ![fork](./resource/fork.png) ### 新建 Feat_xxx 分支 ​ 为了方便管理,上传代码或者文档一般都不用master分支来,我们需要新建一个分支来处理对应的操作。创建分支步骤如下: ![](./resource/bch1.png) ![](./resource/bch2.png) ![](./resource/bch3.png) ### 下载代码 创建完自己的分支后,我们就可以将代码下载下来,下载代码的命令: ``` git clone git@gitee.com:xxxxxxxxx/knowledge_demo_smart_home.git -b doc_20211028是之前创建的分支 ## 其中xxxxxxxxx对应的是当前账户信息, -b doc_20211028对应的是之前创建的分支 ``` ### 提交代码 1. 代码修改完后,需要将代码提交到对应自己的私仓,命令如下: ``` git add ./ ## 添加当前目录下所有文件 git commit -s -m "修改内容" ## 添加修改内容 git push origin doc_20211028 ## 提交代码到分支 doc_20211028 ``` 2. commit 相关参数介绍: -s :Signed-off-by 签名信息,如果没有这个选项的话,提PR的时候会提示错误:“该PR提交是否包含 Signed-off-by信息”。 -m: log 信息,即我们修改了什么内容。 ​ log信息格式定义如下: ​ 新添 -- add ​ 删除 -- delete ​ 修改 -- modify 如此次提交修改了fiel1文件,对应commit的信息:git commit -s -m "modify file1" ### 新建 Pull Request ​ 代码提交后,需要将提交的代码同步到主仓库中,这个时候需要通过提Pull Request到主仓库,代码合规没有任何问题后会自动合并到主仓库中。 ​ ![image-20211028105709083](./resource/new_pr.png) ![image-20211028110406117](./resource/commit_pr.png) 到此,PR的新建已经完成。当PR验证成功后,代码会自动合并到提PR的目标分支上。如果PR不通过,可以点击新建的PR,里面会有具体原因描述。 ## 社区贡献规则 ### 编程规范 ​ 请参考官方文档:[贡献代码](https://gitee.com/openharmony/docs/blob/OpenHarmony_1.0.1_release/zh-cn/contribute/%E8%B4%A1%E7%8C%AE%E4%BB%A3%E7%A0%81.md) ### sig仓命名规范 ​ 遵循unix K&R编码风格 ### 代码路径规范 ​ 遵循unix K&R编码风格 ### pr(Pull Request)规范 提交PR的时候需要遵循以下几点描述: 1. 相关issue的描述 2. 原因(目的,解决的问题等) 3. 描述(做了什么,变更了什么) 4. 测试用例(新增,改动,可能影响的功能)