如何参与开源项目以及贡献代码的流程和注意事项(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的大学生,如果我的文章给你带来的帮助,欢迎您关注我,我会持续不断的更新更多优质文章.你的关注就是我的动力!!!🎉🎉🎉

目录
相关文章
|
4月前
|
人工智能 Cloud Native Java
2025 开源之夏开启报名|AI + 云原生,10个开源项目、24个课题任您挑选
“开源之夏”是由中国科学院软件研究所发起的暑期活动,旨在鼓励高校学生参与开源软件开发与维护。活动联合各大开源社区提供项目任务,面向全球年满18周岁的高校学生开放报名。每位学生最多可申请一个项目。阿里云云原生提报了包括Apache Dubbo、RocketMQ、Seata等在内的10个开源项目共24个课题,涵盖技术优化、功能实现及AI应用等领域。活动流程包括选题、申请、开发与结项考核,具体信息可访问官网了解。
1836 32
|
Java Serverless Apache
9 个开源项目、25 个课题可选丨欢迎报名阿里云云原生开源之夏
2024 开源之夏,阿里云云原生应用平台团队开放了包括 Apache Dubbo/Apache RocketMQ/Apache Seata/Higress/iLogtail /Nacos/Sentinel/Spring Could Alibaba / Serverless Devs 在内,涉及微服务、消息、可观测、Serverless 4 大技术领域的 9 个开源项目。
2017 119
|
11月前
|
机器学习/深度学习 人工智能 算法
量子计算算法:超越经典计算机的边界
【10月更文挑战第30天】量子计算基于量子力学原理,通过量子比特和量子门实现超越经典计算机的计算能力。本文探讨量子计算的基本原理、核心算法及其在密码学、化学、优化问题和机器学习等领域的应用前景,并讨论当前面临的挑战与未来发展方向。
|
安全 网络协议 Shell
Telnet:简介、工作原理及其优缺点
【8月更文挑战第19天】
1991 0
|
9月前
|
人工智能 IDE 程序员
GitHub Copilot 免费了!程序员们的福音来了!
《GitHub Copilot 免费了!程序员们的福音来了!》 近日,GitHub 宣布其 AI 编程助手 GitHub Copilot 现在可以免费使用。曾经每月需支付 10 美元订阅费的 Copilot,现在向所有人开放免费版本,这对个人开发者、初学者和小型团队来说是个大好消息。免费版支持 GPT 和 Claude 模型,并提供每月 2000 次代码补全和 50 条聊天消息等核心功能。用户只需注册或登录 GitHub 账户,在 VS Code 中安装扩展并激活免费版即可使用。此外,Visual Studio Code 也完全免费,进一步降低了开发门槛。 除了
10985 7
GitHub Copilot 免费了!程序员们的福音来了!
|
11月前
|
机器学习/深度学习 编解码 监控
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
这篇文章详细介绍了如何使用YOLOv8进行目标检测任务,包括环境搭建、数据准备、模型训练、验证测试以及模型转换等完整流程。
18303 59
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
11月前
|
存储 人工智能 分布式计算
Parquet 文件格式详解与实战 | AI应用开发
Parquet 是一种列式存储文件格式,专为大规模数据处理设计,广泛应用于 Hadoop 生态系统及其他大数据平台。本文介绍 Parquet 的特点和作用,并演示如何在 Python 中使用 Pandas 库生成和读取 Parquet 文件,包括环境准备、生成和读取文件的具体步骤。【10月更文挑战第13天】
2123 60
|
9月前
|
NoSQL Java Redis
Spring Boot 自动配置机制:从原理到自定义
Spring Boot 的自动配置机制通过 `spring.factories` 文件和 `@EnableAutoConfiguration` 注解,根据类路径中的依赖和条件注解自动配置所需的 Bean,大大简化了开发过程。本文深入探讨了自动配置的原理、条件化配置、自定义自动配置以及实际应用案例,帮助开发者更好地理解和利用这一强大特性。
1456 15
|
10月前
|
JavaScript
使用node.js搭建一个express后端服务器
Express 是 Node.js 的一个库,用于搭建后端服务器。本文将指导你从零开始构建一个简易的 Express 服务器,包括项目初始化、代码编写、服务启动与项目结构优化。通过创建 handler 和 router 文件夹分离路由和处理逻辑,使项目更清晰易维护。最后,通过 Postman 测试确保服务正常运行。
634 1
|
9月前
|
人工智能 自然语言处理 算法
开源更新|语音生成大模型CosyVoice升级2.0版本
开源更新|语音生成大模型CosyVoice升级2.0版本

热门文章

最新文章