



























向开源项目贡献代码是开发者进阶的必经之路,但复杂的流程往往让人望而却步。特别是面对Flutter-OH这样规范严格的仓库,从DCO签名到PR关联,每一个环节的疏忽都可能导致代码被拒。为了帮助大家避开“无效提交”的坑,顺利拿到开源路上的第一枚勋章,本文将全流程拆解贡献步骤,助你一次通过代码检视,轻松合入主仓。

想要向 Flutter_OH 仓库贡献代码,但不清楚具体合入步骤?别担心!本文整理了从环境准备到代码合入的完整流程,清晰易懂、步骤明确,跟着操作就能顺利完成代码贡献
本文详细介绍 Flutter-OH 仓库的代码贡献与合入全流程,涵盖环境配置、协议签署、仓库操作、PR 提交及审核合入等关键环节,适用于所有想要向该仓库贡献代码的开发者。
首先需完成 Git 环境配置,为后续仓库操作奠定基础。该步骤可自行参考网上教程完成,确保 Git 能正常使用即可。
DCO(Developer Certificate of Origin,开发者原创声明),用于声明你提交的代码为本人原创或拥有合法提交权限,是代码合入的前提条件。
📌 签署链接:https://dco.openharmony.cn/sign
操作指引:点击页面「签署 DCO」按钮,使用 AtomGit 账号授权即可完成签署。 > 注意:签署为一次性操作,完成后后续提交无需重复操作。
将 Flutter-OH 公仓 Fork 到个人账号下,后续开发将在个人私仓进行,完成后再发起 PR 合入公仓,避免直接操作公仓。
操作步骤(4 步搞定)
将 Fork 到个人账号的私仓克隆到本地,便于进行代码开发和修改。
# 使用 SSH 方式克隆(推荐,更安全便捷)
git clone git@atomgit.com:<your-name>/<repo>.git
# 进入项目目录
cd <repo>
# 查看远端配置(确认克隆成功)
git remote -v
补充建议:克隆后默认仅关联个人私仓(origin),建议添加上游仓库(upstream),便于同步公仓最新代码。
# 添加上游仓库(指向Flutter-OH公仓)
git remote add upstream git@atomgit.com:<org>/<repo>.git
本地开发完成后,将代码提交到本地仓库,再推送到个人远端仓,注意需符合 DCO 签署要求。
# 提交代码并完成Signed-off-by签名(DCO校验必做)
# 相关疑问可参考:https://atomgit.com/openharmony/docs/blob/master/zh-cn/contribute/FAQ.md
git commit -s -m “feat: 新增 xxx 功能”
⚠️ 注意:
1. 必须添加 -s 参数完成签名,否则无法通过仓库流水线 DCO 检查;
2. 提交信息规范:修复问题以「Fix:」开头,新增特性以「Feat:」开头,清晰描述代码变化。
# 推送当前分支到个人Fork仓库(替换分支名为自己的开发分支)
git push origin feature/<your-feature-name>
代码推送至私仓后,需新建 Issue 关联需求/问题,再发起 PR 请求将代码合入 Flutter-OH 公仓,两者缺一不可。
Issue 用于反馈 Bug、提出需求或进行讨论,每个 PR 必须关联一个 Issue,建议先建 Issue 再提 PR。
> 重要:记录 Issue 编号(如「#42」),后续 PR 中需关联该编号。
推送分支后,进入个人私仓页面,GitCode 会自动提示「为此分支创建 Pull Request」,点击即可;若未提示,可手动点击「Pull Request」→「新建 Pull Request」;
1)确认分支对应关系(关键!):
2)按照要求填写 PR 信息(参考第八节规范);
3)点击「创建 Pull Request」,完成 PR 提交。
规范的 PR 提交能减少评审沟通成本,加快合入速度,请严格遵循以下要求:
PR 提交后,需通过评审和审查环节,确保代码质量符合仓库要求,具体操作如下:
PR 需满足以下所有条件,方可由 openharmony_ci 自动执行合入,缺一不可:

代码门禁常见错误处理
温馨提示:若检视、审查环节处理不及时,可在 PR 评论区@对应人员;若仍长时间未响应,可发送邮件至以下地址请求处理: huanglin23@huawei.com、zhuhaojian@huawei-partners.com
按照以上流程操作,就能顺利完成 Flutter_OH 仓库的代码合入啦!如有疑问,可在评论区留言交流~
本文由人人都是产品经理作者【null】,微信公众号:【nutpi】,原创/授权 发布于人人都是产品经理,未经许可,禁止转载。
题图来自Unsplash,基于 CC0 协议。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。