【手把手指导】给开源项目贡献代码

简介: 很多新人学习了技术,但是没有地方施展。

问题不大,找几个开源项目来参加就可以了,需要开源项目磨练的可以联系学委。


本文重点讲解如何快速的给开源项目贡献代码。


首先你必要要有一个GitHub账号(或者Gitee/CSDN也行),然后找到开源项目,申请加入。或者fork模式参与开发。


对了,还没有安装ppc的直接运行下面命令:


pip install pypi-seed # pip install --upgrade pypi-seed 或者这个命令升级最近ppc
ppc # 运行pypiseed命令行查看使用帮助

image.png

本文基于pypi-seed演示,下面展示申请加入后的必备操作。

第一步 创建个人开发分支

比如参与到pypi-seed项目,先熟悉项目结构代码,然后进行贡献。

创建分支:dev-code-fix-0923 (分支名字需要自己记住,跟提交的功能有关即可)

image.png

第二步检出自己的开发分支

打开pycharm,检出整个pypi-seed代码:

git clone git@github.com:py4ever/pypi_seed.git

然后打开git视图:

image.png

image.png

第三步 本地开发并提交代码

在自己的分支上继续开发,然后commit 并push代码。


比如找到自己需要修改的代码,修改并commit(提交高效的修改描述信息),然后push上传代码到Github。


当然这里有一个非常重要的点:


运行测试,保证一切现有测试都运行通过!并为自己新增功能添加测试用例


我们打开Github网站能看到自己的分支


image.png

第四步 提交一个Pull Request申请开源项目的负责人进行审核合并

创建一个PR如下图:

image.png

提交完之后,可以找到项目的工作组或者负责人给他发送邮件,简单说一下本次提交的内容。(如果提交很多修改,请务必解释清楚)


本文展示的PR:


https://github.com/py4ever/pypi_seed/pull/1/files


打开可以看到提交的修改的详细信息,这次提交修改了公众号信息,截图如下。


image.png

总结

贡献代码给开源项目这个过程 = 验证自己的开源项目理解的一个过程,能够被合并发布,也是得到了项目方的认可的。


更多是一个前期准备,你需要理解熟悉这个项目,而不是胡乱修改就提交了(一般被否决或者无视了)


当然学委这里并没有展示一个需要花比较长时间开发才能合并的branch的操作,本文只是展示了一个开发的关键环节,算是最基本的提交了。更复杂的提交方式,这个以后会说。


目录
相关文章
|
数据安全/隐私保护 UED
Mac下Transmit安装教程
Mac下Transmit安装教程
727 0
SAP MM MIGO 移动类型242将固定资产转物料库存
SAP MM MIGO 移动类型242将固定资产转物料库存
SAP MM MIGO 移动类型242将固定资产转物料库存
|
关系型数据库 数据库 数据安全/隐私保护
rbac数据库设计
1 rbac数据库设计 RBAC基于资源的访问控制(Resource-Based Access Control)是以资源为中心进行访问控制分享牛原创,分享牛系列,分享牛。
2752 0
|
存储 数据管理 Linux
Linux命令sg的深入解析与应用
**Linux的`sg`命令用于高效管理SCSI设备,它基于DMA和Scatter-Gather技术,提供直接设备控制和高效数据传输。`sg`常通过`sg3_utils`工具集来使用,例如`sg_io`,用于执行SCSI命令。在实际应用中,需注意权限、数据安全和兼容性问题,遵循备份、详细阅读文档和逐步测试的最佳实践。**
|
编译器 C++ Windows
win10 环境下配置 openGL的freeglut、glew等库,使用openGL
win10 环境下配置 openGL的freeglut、glew等库,使用openGL
8290 0
|
存储 NoSQL Java
重写 equals 时为什么一定要重写 hashCode ?
我是小假 期待与你的下一次相遇 ~
509 1
|
传感器 移动开发 定位技术
Geolocation
地理位置(Geolocation)是指确定一个设备在地球上的具体位置,通常通过设备上的 GPS 传感器或其他定位技术来实现。地理位置信息可以用于许多应用程序中,例如地图和导航应用程序、社交媒体应用程序、天气预报应用程序等。
424 10
|
XML Java 数据格式
京东一面:spring ioc容器本质是什么? ioc容器启动的步骤有哪些?
京东一面:spring ioc容器本质是什么? ioc容器启动的步骤有哪些?
|
人工智能 Oracle 关系型数据库
哪些CRM软件领先?揭秘2024年前15大品牌!
这篇文本列举了15个知名的CRM(客户关系管理)软件品牌,包括Zoho CRM、Salesforce、神州云动、Oracle CRM、销售易、纷享CRM、红圈CRM、SAP、用友CRM、微软CRM、勤策CRM、玄武CRM、Xtools超兔、螳螂科技和八百客。这些品牌在国内外市场都有一定的影响力,适用于不同规模和行业的企业。其中,Zoho CRM和Salesforce被特别提及,Zoho以其高性价比和全面的功能受到好评,而Salesforce则因其在SaaS CRM领域的开创性地位而知名。文章还提到了各个品牌的特色和适用场景,例如神州云动专注于销售管理和红圈CRM侧重工程企业服务。
796 3
|
5月前
|
NoSQL Java 测试技术
全链路压测硬核实战:从方案落地、瓶颈根因定位到全链路性能优化
全链路压测是保障微服务系统稳定性的核心手段,通过模拟真实线上流量,在预发或生产环境验证端到端性能与容错能力,精准暴露跨服务调用、资源竞争等隐藏瓶颈,并提供标准化的定位与优化方案。
810 3

热门文章

最新文章