非常欢迎参与Ultralytics的开源项目,参与不仅能够提升代码库的质量,还能为整个社区带来益处。本指南包含了清晰的指导原则和最佳实践,帮助轻松开始贡献。
为了营造一个包容和协作的环境,要求所有参与者遵守行为准则。尊重、友好和专业是社区的核心。
非常欢迎通过Pull Requests的形式来贡献代码。为了使审核过程尽可能顺利,请遵循以下步骤:
// 克隆仓库
git clone https://github.com/ultralytics/yolov5.git
// 创建分支
git checkout -b my-feature-branch
// 进行更改
// 测试更改
// 提交更改
git commit -m "Add some feature"
// 推送到远程仓库
git push origin my-feature-branch
// 创建Pull Request
在合并Pull Request之前,需要签署Contributor License Agreement (CLA)。这是一个法律协议,确保贡献得到适当的许可,并且项目可以在AGPL-3.0许可下继续分发。
当添加新功能或类时,请添加Google风格的文档字符串。这些文档字符串提供了清晰的、标准化的文档,帮助其他开发者理解和维护代码。
def example_function(arg1: int, arg2: int = 4) -> bool:
"""示例函数,展示Google风格的文档字符串。
参数:
arg1 (int): 第一个参数。
arg2 (int): 第二个参数,默认值为4。
返回:
(bool): 如果成功返回True,否则返回False。
例子:
>>> result = example_function(1, 2) # 返回False
"""
if arg1 == arg2:
return True
return False
所有Pull Requests必须通过GitHub Actions的持续集成(CI)测试,然后才能合并。这些测试包括Linting、单元测试和其他检查,以确保更改符合项目的质量标准。
非常重视Bug报告,因为它们帮助维护项目的质量。报告Bug时,请提供一个可复现的最小示例,以便快速识别和解决问题。
Ultralytics使用GNU Affero General Public License v3.0 (AGPL-3.0)许可其代码库。这个许可促进了软件开发的开放性、透明度和社区改进。
感谢对Ultralytics开源项目的兴趣。参与对于塑造软件的未来和建立一个充满活力的创新和协作社区至关重要。
为什么要为UltralyticsYOLO的开源仓库做贡献?
为Ultralytics YOLO的开源仓库做贡献可以改进软件,使其对整个社区更加健壮和功能丰富。贡献可以包括代码改进、错误修复、文档改进和新功能的实现。
如何签署UltralyticsYOLO的CLA?
提交Pull Request后,按照CLA Bot的指示签署CLA。这确保了贡献在AGPL-3.0许可下得到适当的许可。
什么是Google风格的文档字符串,为什么它们对Ultralytics YOLO的贡献是必需的?
Google风格的文档字符串为函数和类提供了清晰、简洁的文档,并提高了代码的可读性和可维护性。
如何确保更改通过GitHub Actions CI测试?
在合并Pull Request之前,它必须通过所有GitHub Actions持续集成(CI)测试。这些测试包括Linting、单元测试和其他检查。
如何在Ultralytics YOLO仓库中报告Bug?