如何参与开源项目以及贡献代码的流程和注意事项(2024年11月保姆级教程)

简介: 本文详细介绍了如何参与开源项目及贡献代码的流程和注意事项,包括选择项目、fork仓库、克隆到本地、阅读贡献指南、提交代码、创建Pull Request等步骤,并强调了沟通礼仪、代码质量的重要性,适合初学者参考学习。

如何参与开源项目以及贡献代码的流程和注意事项(2024年11月保姆级教程)

🎉🎉🎉欢迎来到我的博客,我是一名自学了2年半前端的大一学生,熟悉的技术是JavaScript与Vue.目前正在往全栈方向前进, 如果我的博客给您带来了帮助欢迎您关注我,我将会持续不断的更新文章!!!🙏🙏🙏

@[toc]
一部分对技术有信心的人可能就会想参加一些开源项目来增加自己的见识和提升代码经验,但是参与别人的开源项目的流程和注意事项还是很多的,今天我就带大家了解一下一个完整的开源项目如何贡献代码。

1.如何参与开源项目

参与开源项目的途径有很多,最好就是通过github,gitee等代码托管仓库寻找感兴趣的项目。

假如你感兴趣的是Vue相关的就可以去找仓库名称里带vue的,一般仓库都会有中文介绍的如果没有翻译一下即可。

一般的开源项目都需要你有很好的技术和精通这方面的知识,否则看懂代码都很难更别说参与进去贡献代码了

了解开源项目的途径可以通过各大框架和公司的开发者大会如:

  • vueConf
  • viteConf
  • HDC(华为开发者大会)

这些都会介绍一些新出的技术和功能库等,如果感兴趣的话就可以通过里面的链接找到代码仓库。

2.贡献代码的流程

1.fork仓库到自己仓库

首先需要fork你要参与项目的仓库到自己仓库
在这里插入图片描述在这里插入图片描述

什么都不要修改,直接点Create fork按钮。

等待一会后仓库就fork到自己仓库了。

在这里插入图片描述

2.clone到本地

接下来的流程就是跟自己的项目操作一样了,先clone项目到本地,然后修改或者添加功能,提交,推送就好了。

但有几个点需要注意一下。

我们首先将项目clone到本地,我这里使用webstorm做演示。

这里的URL填你fork到自己仓库的地址。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3.阅读贡献指南和readme.md文件

一个开源项目里通常会有contributing.mdreadme.md文件,这两个文件非常重要。

contributing.md:里面包含了贡献代码的要求和规则贡献代码必看,如果没按照他们的规则提交代码可能会无视或者直接关闭你的PR。文件一般在项目根目录或者.github文件夹里面。

在这里插入图片描述

readme.md:里面包含这个项目的介绍和功能有助于你快速的了解这个项目的功能和使用的技术。文件一般就在项目根目录。

4.提交代码

当我们已经浏览过需知文件后就可以开始自己的编码 比如修复一个bug或者开发一个新功能,我们可以去该项目的issue里面去看看有没有需要解决的问题。

在这里插入图片描述

假设你找到一个问题你可以先点进该issue问一下可不可以把这个问题交给你来解决 (语气一定要礼貌,回复慢也不要急!!!)。

如果你找到了一个你感兴趣的问题你想去解决你就可以在本地修改代码。

修改代码前先新建一个分支!!!如果不知道git的操作的话 可以在评论区评论 我会出一个git操作的文章。

修改完成后提交代码。

注意提交代码时的提交消息有格式要求!

  • 假如你是修复bug需要这样 fix(你修改的地方或者bug介绍) 举例 fix(index.ts) fix(修复了首页显示错误的问题)
  • 假如你是添加新功能 feat(新功能的名字) 举例 feat(新增了文章页面)
  • 假如你是修改项目文档网站的内容 docs(修改的地方或者修改的介绍) docs(index.ts)

然后在后面加个冒号写你代码实现的功能或者作用 举例 docs(index.ts):修改了错误的类型提示

常用的分类就是以上几个。

然后详细介绍内容需要你尽可能详细的表达你贡献的代码的作用

完整示例

在这里插入图片描述

确认提交消息没有问题之后就可以点击提交并推送了。

在这里插入图片描述

提交成功后回到你自己fork过来的仓库会看到一个按钮。

在这里插入图片描述

点击这个按钮然后点击open pull request 创建一个pr

在这里插入图片描述

点击这个按钮后就会出现如下页面。

在这里插入图片描述

在这里我们可以继续详细的介绍或者不改动 直接点击创建pr

这里有一个建议 大家如果是修复issue里面的问题的话可以在描述里面写fixes issue的id

在这里插入图片描述

这个红框框里面的就是issue的id。

写上fixes后项目管理员在看你的pr时会知道你在修复issue的哪个问题 审核速度会更快。

一切没问题后点击create pull request按钮创建一个pr等待项目管理员来审核你的代码就可以了。

一般审核的时间是2-3天 一定不要急且沟通的过程中要礼貌和言简意赅。

如果通过了就会显示如下页面

在这里插入图片描述

恭喜你成功贡献一次代码啦!!!👏👏👏

如果没通过也没有关系,管理员一般会告诉哪里有问题或者你这个功能不够好或者他不需要等问题。

大家不要气馁 沉下心来多参与几次 总会成功的。

3.注意事项

1.沟通要礼貌,表达意思要准确。

2.代码质量和逻辑要过关,不然审核代码不会给你通过的。

3.不要气馁,没有什么事情是一次就能干好的 失败是成功之母 当我们参与了多个项目的贡献后 就会知道 这个事情不能急。

最后大家可以关注我的github 有什么问题大家也可以在评论区问我 我会一一解答。

我的github

Hi👋,这里是瑞雨溪一个喜欢JavaScript和Vue的大学生,如果我的文章给你带来的帮助,欢迎您关注我,我会持续不断的更新更多优质文章.你的关注就是我的动力!!!🎉🎉🎉

目录
相关文章
|
7月前
|
人工智能 Cloud Native Java
2025 开源之夏开启报名|AI + 云原生,10个开源项目、24个课题任您挑选
“开源之夏”是由中国科学院软件研究所发起的暑期活动,旨在鼓励高校学生参与开源软件开发与维护。活动联合各大开源社区提供项目任务,面向全球年满18周岁的高校学生开放报名。每位学生最多可申请一个项目。阿里云云原生提报了包括Apache Dubbo、RocketMQ、Seata等在内的10个开源项目共24个课题,涵盖技术优化、功能实现及AI应用等领域。活动流程包括选题、申请、开发与结项考核,具体信息可访问官网了解。
2335 32
|
XML Java 测试技术
通义灵码与githubcopilot的对比评测
本文评测了通义灵码,与github copilot在一些代码编写能力上面的能力比较。 虽然github copilot要强很多,但灵码目前的能力也不算很弱,并且在一些小类上会做的更好一些。 值得试试看,也是免费的
58583 10
|
算法 Unix API
指数退避(Exponential backoff)在网络请求中的应用
## 一、背景 最近做云服务 API 测试项目的过程中,发现某些时候会大批量调用 API,从而导致限流的报错。在遇到这种报错时,传统的重试策略是每隔一段时间重试一次。但由于是固定的时间重试一次,重试时又会有大量的请求在同一时刻涌入,会不断地造成限流。 这让我回想起两年前在查阅[Celery Task 文档](http://docs.celeryproject.org/en/latest
13659 1
|
5月前
|
存储 人工智能 文字识别
三款安卓手机word编辑器下载,Microsoft Word,wps office,Word手机版,手机word编辑查看阅读器,PDF转换器apk下载
WPS Office是一款功能强大的办公软件,支持文档编辑、表格处理和演示文稿制作,兼容多种格式并提供丰富的云服务。它具备低内存占用、快速运行的特点,支持跨设备同步与多人协作,内置海量模板及AI辅助功能,如智能写作和PPT自动生成。此外,还可扫描文件、编辑PDF并转换为其他格式,极大提升办公效率,适合手机用户便捷操作。
517 1
|
Java Serverless Apache
9 个开源项目、25 个课题可选丨欢迎报名阿里云云原生开源之夏
2024 开源之夏,阿里云云原生应用平台团队开放了包括 Apache Dubbo/Apache RocketMQ/Apache Seata/Higress/iLogtail /Nacos/Sentinel/Spring Could Alibaba / Serverless Devs 在内,涉及微服务、消息、可观测、Serverless 4 大技术领域的 9 个开源项目。
2127 110
|
8月前
|
JavaScript 数据可视化 Docker
简易制作MCP服务器并测试
本文介绍了如何简易制作并测试MCP服务器,包括环境搭建、代码实现及Docker部署。首先通过uv包创建项目,在main.py中定义MCP服务器及其工具和资源函数。接着详细说明了在Windows上安装uv、配置Docker镜像加速、生成requirements.txt文件以及编写Dockerfile的过程。最后,通过构建和运行Docker容器部署MCP服务器,并使用Node.js工具测试其功能,确保服务器正常工作。此教程适合初学者快速上手MCP服务器的开发与部署。
3108 63
|
12月前
|
NoSQL Java Redis
Spring Boot 自动配置机制:从原理到自定义
Spring Boot 的自动配置机制通过 `spring.factories` 文件和 `@EnableAutoConfiguration` 注解,根据类路径中的依赖和条件注解自动配置所需的 Bean,大大简化了开发过程。本文深入探讨了自动配置的原理、条件化配置、自定义自动配置以及实际应用案例,帮助开发者更好地理解和利用这一强大特性。
1954 15
|
机器学习/深度学习 人工智能 算法
量子计算算法:超越经典计算机的边界
【10月更文挑战第30天】量子计算基于量子力学原理,通过量子比特和量子门实现超越经典计算机的计算能力。本文探讨量子计算的基本原理、核心算法及其在密码学、化学、优化问题和机器学习等领域的应用前景,并讨论当前面临的挑战与未来发展方向。
|
9月前
|
关系型数据库 Linux 数据库
PostgreSQL 入门指南:安装、配置与基本命令
本文从零开始,详细介绍如何在 Windows、Linux 和 macOS 上安装和配置 PostgreSQL,涵盖30+个实操代码示例。内容包括安装步骤、配置远程访问和用户权限、基础数据库操作命令(如创建表、插入和查询数据),以及常见问题的解决方案。通过学习,你将掌握 PostgreSQL 的基本使用方法,并为后续深入学习打下坚实基础。
10483 1
|
消息中间件 中间件 Kafka
分布式事务最全详解 ,看这篇就够了!
本文详解分布式事务的一致性及实战解决方案,包括CAP理论、BASE理论及2PC、TCC、消息队列等常见方案,助你深入理解分布式系统的核心技术。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
分布式事务最全详解 ,看这篇就够了!