同步操作将从 MindSpore/mindspore 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
向MindSpore社区提交代码之前,您需要签署《贡献者许可协议(CLA)》。
个人贡献者请参见ICLA在线文件。
请遵循此风格,以便MindSpore审查、维护和开发。
编码指南
MindSpore社区使用Python PEP 8 编码风格和谷歌C++编码风格。建议在IDE中安装以下插件,用于检查代码格式:CppLint、CppCheck、CMakeLint、CodeSpell、Lizard、ShellCheck和PyLint。
单元测试指南
MindSpore社区使用Python单元测试框架pytest和C++单元测试框架Google Test Primer。注释名称需反映测试用例的设计意图。
重构指南
我们鼓励开发人员重构我们的代码,以消除代码坏味道。所有代码都要符合编码风格和测试风格,重构代码也不例外。无注释的代码行(nloc)的Lizard阈值为100,圈复杂度(cnc)的阈值为20。当收到Lizard警告时,必须重构要合并的代码。
文档指南
我们使用MarkdownLint来检查Markdown文档格式。MindSpore CI基于默认配置修改了以下规则。
有关详细信息,请参见规则。
Fork MindSpore代码仓
在提交代码至MindSpore项目之前,请确保已fork此项目到您自己的代码仓。MindSpore代码仓和您自己的代码仓之间可能会并行开发,请注意它们之间的一致性。
克隆远程代码仓
如果您想将代码下载到本地计算机,最好使用git方法:
# 在GitHub上:
git clone https://github.com/{insert_your_forked_repo}/mindspore.git
git remote add upstream https://github.com/mindspore-ai/mindspore.git
# 在Gitee上:
git clone https://gitee.com/{insert_your_forked_repo}/mindspore.git
git remote add upstream https://gitee.com/mindspore/mindspore.git
本地开发代码。
为避免分支不一致,建议切换到新分支:
git checkout -b {新分支名称} origin/master
以master分支为例,如果MindSpore需要创建版本分支和下游开发分支,请先修复上游的bug, 再更改代码。
将代码推送到远程代码仓。
更新代码后,以正式的方式推送更新:
git add .
git status # 查看更新状态。
git commit -m "你的commit标题"
git commit -s --amend # 添加commit的具体描述。
git push origin {新分支名称}
将请求拉取到MindSpore代码仓。
在最后一步中,您需要在新分支和MindSpore主分支之间拉取比较请求。完成拉取请求后,Jenkins CI将自动设置,进行构建测试。拉取请求应该尽快合并到上游master分支中,以降低合并的风险。
发现问题后,建议以报告issue的方式为项目作出贡献。错误报告应尽量书写规范,内容详尽,感谢您对项目作出的贡献。
报告issue时,请参考以下格式:
Issue咨询:
PR咨询:
在开发过程中,建议使用pre-push功能进行本地代码自检,可以在本地进行类似CI门禁上Code Check阶段的代码扫描,提高上库时跑门禁的成功率。使用方法请参见pre-push快速指引。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。