论如何参与一个开源项目(上):参与的意义和提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

相关内容

热门资讯

银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...