前言
- 如果没有基础开发经验的开发者可以先不看这里,可以先解决个人基础问题
- 要有git操作经验(最好是熟练),有github账号(或其他版本控制平台),本地有node(部分开源项目不需要),可以进行相关项目开发的环境
理论上如何成为一名开源贡献者
- 如果还没有开源贡献者邀请,就去找一些感兴趣的开源项目、开源社区,参与进去,在里面回答问题、交流,或直接找开源作者,直接参与
- 一般这样之后一段时间便有开源作者邀请成为开源贡献者,因为成为开源贡献者很简单,但具体难度要看项目情况,最简单是项目就是资源整理,参与一些技术资源、技术问答等文字和简单代码的整理,这种就很简单
- 进一步就是框架/库/插件这类难度比较大的开源项目,实际上我们可以直接fork参与,根据我们想要的对源项目进行修改,解决bug或新增内容,剩下给开源作者审核就好,操作很简单,看下面就知道了
贡献内容操作流程
1. 我们被通知/自主参与一个项目开发
- 一般我们都会加群进行社区交流,或直接贡献(这个独立开发者可以操作一波,感觉这样容易成为大牛)
2. fork项目
- 在github开源项目右上角就有一个fork按钮(没有就是找错地方了),点击fork就能将项目克隆到我们个人github账号(假设叫做developer-note),这时我们就可以在我们个人github账号的Repositories找到这个developer-note项目,我们拥有全部修改权限,当然对原开源项目没有任何影响,是两个仓库
拉到本地,关联开源项目
创建分支,开发贡献
- 一般我建议每次贡献都根据内容创建一个开发分支,例如:dev-20190905,完全可以参考原有项目开发分支命名或根据本次贡献内容命名
- 这时我们已经开发完一个版本了,我们去github上就是看到最新的提交,下一步便是PR(pull request)将更新提交给开源作者
pull request(PR)
- 这一步是将我们贡献的内容提交给开源作者,也就是提醒他我做了这个更新,将对应的分支交个他合并到开源项目
- 我们到我们github的developer-note项目中,可以看到issue旁边有个Pull request,点击进去我们新建Pull request
- 然后我们就在最后边的分支选项中选择我们要提交的分支,选中后检查一下下面内容的变更,然后就可以Create pull request创建PR了
- 之后我们就能在开源作者的项目中看到一条pull request记录,开源作者会检查(review代码)我们贡献的内容,正常由他合并到开源项目中
- 没有问题后,有pull权限的开源作者点击Merge Pull request选项,根据需要选择合并方式 将所有提交合并到基础分支:通过点击 Merge pull request。如果没有展示 Merge pull request 选项,则点击合并下拉菜单,然后选择 Create a merge commit 压缩合并 pull request 的提交:通过合并下拉菜单,选择 Squash and merge,然后点击 Squash and merge 按钮 将提交单独变基到基础分支上:通过合并下拉菜单,选择 Rebase and merge,然后点击 Rebase and merge 按钮。
注:合并操作跟我们正常项目合并分支类似,但是一般都是review在github上操作,直接点击合并到指定的分支,但是可能出现点问题
- 如果出现冲突问题,这个问题比较简单常见,安装git解决冲突流程就能解决
- 发现存在bug,我们可以直接在pull request中直接进行讨论,然后根据讨论的解决方案提交一个新的提交,操作流程一样
完成合并,删除分支
- 如果开源作者发现我们贡献的内容没有问题,就可以提交到master分支,或者测试分支综合测试
- 提交完我们可以通过分支查看是否已经将更新合并上去
- 完成合并后我们关闭当前pull request并删除该分支,开源贡献者直接pull开源项目最新代码就能查看到我们贡献的代码
git pull upstream master
- 其他相关后续操作:例如关闭issue等
结束语
自此,我们以及完成开源贡献,我们也正式成为一名开源贡献者欢迎关注微信公众号「啄木指北」了解更多的互联网技术:发1进群
- 其实我们能发现,这个步骤很简单,几乎没有任何限制,任何一个人都可以成为开源贡献者,对开源作者来说没有任何负面影响
- 众人拾柴火焰高,一般来说一个人想要做大事还是很难的,但是一群人做成一件事其实还是相对比较简单的,如果我们想要完成一个比较复杂的事情,我们完全可以通过开源项目来实现,包括一个项目、一个平台、一个好的资源收集、一个好的交流社区