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

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

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


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


首先你必要要有一个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的操作,本文只是展示了一个开发的关键环节,算是最基本的提交了。更复杂的提交方式,这个以后会说。


目录
相关文章
|
机器学习/深度学习
使用LSTM预测结果为一条直线原因总结
使用LSTM预测结果为一条直线原因总结
4641 1
使用LSTM预测结果为一条直线原因总结
|
编译器 C++ Windows
win10 环境下配置 openGL的freeglut、glew等库,使用openGL
win10 环境下配置 openGL的freeglut、glew等库,使用openGL
8254 0
|
SQL 存储 数据库
SQL实践篇(二):为什么微信用SQLite存储聊天记录
SQL实践篇(二):为什么微信用SQLite存储聊天记录
1438 1
|
4月前
|
NoSQL Java 测试技术
全链路压测硬核实战:从方案落地、瓶颈根因定位到全链路性能优化
全链路压测是保障微服务系统稳定性的核心手段,通过模拟真实线上流量,在预发或生产环境验证端到端性能与容错能力,精准暴露跨服务调用、资源竞争等隐藏瓶颈,并提供标准化的定位与优化方案。
700 3
|
12月前
|
存储 弹性计算 监控
阿里云顶会论文 OSDI'25 VIO 弹性直通
本文介绍阿里云团队发表于OSDI顶会的论文《To PRI or Not To PRI, That’s the question》,探讨云计算中虚拟化设备内存管理难题。论文提出纯软件方案VIO,通过内存预检、智能模式切换和自适应锁页设计,实现无需硬件支持的高效内存管理。该方案已在阿里云大规模部署,显著提升资源利用率,兼顾性能与兼容性。
581 0
阿里云顶会论文 OSDI'25 VIO 弹性直通
CCF推荐A类会议和期刊总结:计算机体系结构/并行与分布计算/存储系统领域
中国计算机学会(CCF)2022年版推荐目录涵盖了计算机体系结构、并行与分布计算、存储系统领域的多个A类会议和期刊。本文汇总了这些顶级资源的全称、出版社、dblp网址及领域。包括《ACM计算机系统汇刊》、《ACM存储汇刊》等期刊,以及ACM PPoPP、USENIX FAST等会议,为研究人员提供了重要学术参考。
14773 64
CCF推荐A类会议和期刊总结:计算机体系结构/并行与分布计算/存储系统领域
|
11月前
|
敏捷开发 人工智能 算法
AI 时代,这 3 个智能工具正在改变项目管理方式
在 AI 时代,项目管理面临高频变更、跨团队协作等新挑战。传统工具难以应对动态性与复杂性,智能工具则通过 AI 决策、自动化协作与智能排期,减少重复劳动,提升效率。本文解析智能工具如何破解管理痛点,并提供选型建议,助力团队从“被动救火”转向“主动规划”。
AI 时代,这 3 个智能工具正在改变项目管理方式
|
存储 NoSQL Java
重写 equals 时为什么一定要重写 hashCode ?
我是小假 期待与你的下一次相遇 ~
480 1
|
XML Java 数据格式
京东一面:spring ioc容器本质是什么? ioc容器启动的步骤有哪些?
京东一面:spring ioc容器本质是什么? ioc容器启动的步骤有哪些?
|
存储 消息中间件 监控
Redis Stream:实时数据流的处理与存储
通过上述分析和具体操作示例,您可以更好地理解和应用 Redis Stream,满足各种实时数据处理需求。
1470 14

热门文章

最新文章