关于后端:如何在Github参与开源项目的建设

前言

当今程序世界的疾速倒退无奈脱离开源我的项目的茁壮倒退,而作为出名的开源我的项目代码社区,Github在开源届有着无足轻重的位置,本文就将帮忙大家理解如何在Github上参加开源的建设。

参加开源

对于大部分人来说,开源我的项目的应用曾经是粗茶淡饭了,无论是数据库还是ide,三方库还是连贯工具都有可能是开源我的项目的一员。然而很多人也就是仅仅应用而已,实际上开源我的项目须要每个人的帮忙才可能更加茁壮的倒退。

很多人认为只有提交代码,进行PR合并代码才算是对开源我的项目产生奉献,其实这是不正确的,还有其余的计划也同样能对开源我的项目作出贡献。

Discussions

Discussions是Github开源我的项目的讨论区,开发者能够在讨论区提出问题和各种话题,并且能够参加探讨。

Discussions会有开源我的项目的管理人员进行治理,开发者在其中提出各种应用上的问题以及能够提出新的想法,设计思路等等,是一个较为凋谢的论坛性质的模块。在其中借助本人对于以后开源我的项目的理解来答复问题能够让更多刚接触到这个我的项目的萌新更加疾速的退出。

Issue

Issue是Github的重要性能之一,开发者能够通过创立Issue来提出bug,提出新feature等等,也能够提出议题在社区进行探讨。

每个我的项目提出Issue的流程会有一些不一样,此处以open-telemetry/opentelemetry-java-instrumentation我的项目为样例:

此处的Issue通过社区的模版批改分为了三个类型,bug,feature和安全漏洞,依照指引点开后会发现外部也是预置好了模板的:

仔细阅读模板中的内容而后照着填写即可。

IssueDiscussions实际上没有固定的边界,大部分状况下你既能够在Discussions提出问题也能够通过Issue提出问题。然而以我集体的了解,Issue会更加的正式,并且正规的开源我的项目会有人以专门的流程来解决提出的Issue,因而如果是一些bug类的问题倡议还是提出Issue更好。

Issue分类标签

如果只是提出Issue的话没法更多的参加我的项目,然而想尝试去解决一些Issue往往又无从下手,该怎么办?

此处善用Issue的分类标签能够帮上大忙。为了治理Issue,往往社区人员会查看新提出的Issue之后会对其打上肯定的标签。社区的新人能够关注如下的标签:good first issue

这个标签示意Issue适宜新人来相熟我的项目。有些大型的我的项目甚至还会有相似的good second issue等标签。用户长于应用标签筛选,找到这类Issue就可能帮忙本人更好的成为开源我的项目的新人。

Pull Requests

Pull Requests个别简称为PR,是一种将本人改变代码推送合并到开源我的项目的伎俩。个别的开源我的项目都禁止间接在分支上进行推送,所有的代码改变都须要走PR的流程。

如何提出本人的第一个PR

此处样例应用的是开源我的项目open-telemetry/opentelemetry-java-instrumentation

  1. 首先须要从原开源我的项目fork一份到你本人的仓库,这样你本人仓库就会有一份最新的开源代码
  2. 之后你就能够将本人仓库的fork的那份代码clone到本地进行开发,举荐创立新的分支来进行开发
  3. 开发实现后将代码push上来,至此都是失常的开发流程
  4. 此处开始新建PR
  5. 之后选定本人的开发我的项目开发分支,以及想要合并到的开源分支,而后抉择创立PR
  6. 在创立PR是须要填写一些comment,为了PR可能通过合并所以倡议详细描述此次PR做了些什么,解决了什么问题,如果有具体的Issue关联就更好了
  7. 之后点击create就实现了PR的创立了,后续就是社区管理人员的审核以及提出修改意见,而后后续就是重复的批改欠缺,而后合并代码了。

PR注意事项

每个开源我的项目对于PR都会有不同的标准,具体的详情个别都会在CONTRIBUTING.md文件中详细描述,包含编码标准,应用的库的协定标准等等,请在提交PR之前进行仔细阅读,防止提交之后违反了标准而被否决。

总结

开源社区中的种种玩法还是很多样的,此处只是介绍了最简略的一些参加开源的玩法,如果想要更加深度的参加各种社区的会议,各种社区的SIG等等,能够本人尝试摸索,摸索开源社区的魅力。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理