写在前面:如果你已经是某开源项目的代码提交者甚至是维护者,创始人则可以忽略本文,大多数人都会仰望你并视你为偶像, 如果你一直使用开源项目,但从未做过贡献则建议有空了解下.....最后也希望各位大佬能用你的发财手点赞和关注,你的鼓励是我持续更新的动力....
参与开源项目有什么好处?1)高效学习:在参与开源项目的开发过程中,可以学到很多东西,因为你直接与各种领域大佬,编程专家,社区运营前辈直接沟通...你得到的知识,对事情的理解将更加深刻。
2)实战经验:如果你是一个学生,或者是没有从事过任何实战项目的开发,那么这是一个很好的方式来获得实战项目开发经验的好机会,因为这些项目可能被成百上千甚至数百万人使用。
如果你是一个在职程序员,通过参与开源项目并贡献代码,解决问题,慢慢的你便是这个领域内的专家。
3)个人能力的证明:参与并知名或有一定影响力的业界开源项目,这将是你简历上耀眼的一条,这条有时甚至可以让你在没有名牌大学和高学历的情况下被大厂破格录取。
4)打造个人品牌: 开源社区受欢迎,你将会和那些志同道合的人建立联系,至少相关领域你将慢慢积累的一些知名度
5) 商业目的的推广:推动某个商业产品的推广,技术标准的普及,潜在用户群体的扩大, 商业公司的品牌宣传
如何参与开源项目并贡献代码?1)选择合适自己的开源项目根据你的兴趣(AI,前端框架,前端组件,后端组件,后端框架,微服务组件,微服务框架,数据分析,运营工具等),能力水平,擅长的编程语言(c/c++,java,.net/.net core/python/go,具备的自由时间量等因素来决定选择什么项目
2)fork项目的仓库进入项目仓库,你会在页面的右上方看到一个fork的选项--Create new fork
fork后,你将被重定向到你的GitHub账户,这是会发现,在自己仓库里创建了一个原始项目的副本,我们可以在这个副本里做任何修改。
3)自己的本地电脑上克隆这个仓库git clone https://github.com/youAccount/youNewProject.git
4)添加上游(upstream)为了将本地克隆的代码仓库与原始版本库(最原始的,非fork到自己仓库的)关联起来以便最终能够获取原始版本中别的贡献者的修改更新,这个过程叫做添加上游(upstream):
在克隆的文件夹中打开git 命令终端(git bash等)
使用git remote add upstream [original repo URL]命令
要检查上游是否被成功添加,请使用下面这个命令:
git remote -v
如果添加上游成功则会分别显示 origin和upstream的featch和push地址
5) 让本地版本获取原始版本的最新修改内容.在确认已添加上游(upstream)的情况下执行下面命令:git pull upstream main
6) 创建分支在进行任何修改和拉取代码(PR)之前,首先要创建一个新分支(branch),然后,并从main分支切换到新分支。
创建新的分支并切换到该分支:
git branch -b newContributionBranch
git checkout -b newContributionBranch
7) 贡献代码.7.1) 阅读readme.md,CONTRIBUTING.md有一个基本的了解
如何使用该项目
如何为该项目做贡献
当你遇到困难时,该如何寻求帮助
7.2) 向项目的维护者申请获得一个issue的处理权限
点击issues标签之后你可以看到这里罗列了很多其他人提出的问题,当然你可以在这里添加自己的问题。
当你点击一个具体issue链接进去时,你会看到问题的细节和互动内容,在那里你可以与维护者和其他贡献者讨论这个问题。
在开始处理一个问题前,首先要对它进行评论,写出自己的分析和解答(不仅是仓库,甚至还有官网,博客,issues邮件),并告诉其他人你想处理这个问题。如果维护者将该问题分配给你,你就可以开始处理了。
7.3) 添加并提交你的修改.
获得处理该问题的权限后,你可以在克隆的到本地的仓库中打开代码编辑器,并进行相关的修改
注:记得添加必要的单元测试,做好相关的测试,确保修改内容的质量.
当你完成你的工作后,使用git命令来添加和提交你的修改:
git add .
git commit -m "newContribution Updates and Remark"
7.4)创建一个PR
step1-将本地仓库push(推送)到自己的remote仓库: git push origin newContributionBranch
step2-创建一个pull request(PR)
注2:创建PR前,需要事先征得项目维护者/拥有者的同意来合并你所做的修改
进入远程fork仓库,在它的主界面上,你会看到一个create pull request,你可以给你的PR起一个不同的消息或名字。当然,也可以使用默认的。 你需要选择从你的分支合并到upstream(原始的开原项目)官方仓库的哪个分支然后再点击下面的create pull request。
提交请求后你可以去upstream仓库,你的PR将在PR栏目中可以看见
step3-检查提交内容是否通过测试,是否存在冲突.
点击你的PR,检查它是否已经通过了所有的测试,并且没有任何合并冲突。
如果它通过了所有测试,并不存在合并冲突,并且你正确地遵循了项目的PR要求(贡献要求,编码规范等),维护者会很快合并你的PR。
注:如果有任何问题,PR部分也有一个评论区,你可以和维护者聊天,寻求帮助或审查