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