论如何参与一个开源项目(上):参与的意义和提issue
创始人
2024-03-31 02:19:36
0次

文章目录

  • 写在前面的一些话
  • 第零步:为何参与开源项目
  • 第一步:提出问题
  • 别急

写在前面的一些话

说起开源项目,好像人人都懂:不过就是一群人一起写了些东西,并且这些东西是公开的,大家都能看。但要细说,可能大多数的开发者都说不出个所以然,甚至不知道怎么提issue。

所以我就想写这样一篇文章,来聊聊我是如何参与开源项目的,参与开源项目的正确流程是怎样的,以及我们参与开源项目的意义。

本篇文章适合怎样的读者:

  • 有一定GitHub和Git基础,会commit pull push、会解决合并冲突、知道仓库和分支的概念;
  • 有自我提升的意愿。

第零步:为何参与开源项目

本来是只写了从第一步到第五步的,大纲我都拟好了,分别是*****🤣。后来想了想,既然都写了,为何不写全一些呢?于是便有了这第零步。

作为一名程序员,我想大多数朋友应该都和我一样,在编程方面主要还是靠自学,比如看书、看视频或看博文。

但当我们学习到一定程度的时候,总该把自己所学的东西融会贯通一下。这时候我们就会去试着写一些代码,做一做项目。

而聪明的开发人员会意识到那些有长期积累经验的开源项目当中蕴含着大量的知识,可以从优秀开源项目的代码当中学习到相当多的东西。

如果恰好有兴趣且恰好有时间,参与开源项目将会是提升自我的好机会,你的代码将会经过一双双眼睛的审查,你将得到其他程序员的建议,这在无形之中便能提升你的代码质量和规范。

尤其是作为学生,在校能接触到的项目一般都是比较简单的,类似图书管理系统、学生选课系统之类的(可能自己觉得不简单🤣),但在开源社区,你可以接触到各种方向的开源项目,甚至企业级的大型项目。

总之,可以确信的是,参与到一个合适的开源项目中,一定是对你有较大帮助的。

欢迎大家参与我的开源项目校园博客 https://github.com/stick-i/scblogs,这是一个基于SpringCloud + Vue2的微服务项目,后端主要由我负责,原来的前端开发者忙着考公去了(果然人生的尽头还是编制),所以现在非常期待各位朋友的加入🧐。

第一步:提出问题

我们在写代码之前,总得想想自己要写些什么东西,总不能上去就是一句 “Hello world” 吧!那我们要参与一个开源项目,是不是也得想想自己该为这个项目贡献一些什么功能?

这时候,我们需要先了解这个项目。就拿我的校园博客来说,我们可以先去项目官网进行使用体验,找到一些bug或者还没有完善地方,再或者找到一些可以新添加的功能,那么这些就是我们要提出的问题了。

  1. 于是乎,我们去给项目提一个issue,并根据社区的提问要求,将自己的想法用issue来告诉项目负责人。

image-20220929201458468

  1. 写好标题和内容后,点击右下角Submit new issue,你就能看到自己创建的一个issue了,那么恭喜你,已经为这个社区贡献出了自己的一份力量,尽管这只是一个issue!

image-20221002200856309

  1. 提出问题,其实也可以是寻找问题。有些时候,我们可能无法轻易的找到项目的bug,也没有什么好的建议,这时候,我们也可以直接去查看社区里已经存在的issue。

    下面这些其实都是别人已经提出的问题,可以在里面找一个我们想做的并且还没有被分配的,一般建议新人贡献者找那种带有 good first issue 标签的问题,这类问题更适合提供给新同学作为加入开源项目的第一个贡献,因为它们相对较简单。

image-20220929202555781

  1. 那不管怎么样,我们现在至少创建或者找到了一个合适的issue。现在,我们去这条issue的评论区发送一句话,表示自己想认领并解决这个问题,就像这样:

在这里插入图片描述

  1. 接下来,我们只需要等待社区的管理员回复你。如果他同意了你的issue并且觉得你可以解决这个问题,他会回复你的评论,并且将这个问题分配给你,就像这样:

image-20221002201739203

别急

认真看完上面的内容,相信你已经掌握了如何向开源项目提出一个issue,记住这个issue,它将会是你参与开源贡献开始的标志。

学会的同学可以去练习啦!🧐🧐

这是 论如何参与一个开源项目 系列的第一篇文章,其他的文章可以通过下面的链接访问,练习完的同学可以去看下一篇啦🤣🤣:

【上】参与的意义和如何提issue:https://blog.csdn.net/little_stick_i/article/details/127162039
【中】Fork仓库和编写代码:https://blog.csdn.net/little_stick_i/article/details/127170890
【下】创建PR和代码审查:https://blog.csdn.net/little_stick_i/article/details/127176171

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...