GitHub开源项目协作开发流程
记得之前看过一篇文章《Github带来的不止是开源,还有折叠的认知》,文章意思就是不要被这些开源的框架,模块,占据了你的全部,不要只会CV,如果我们今天跟着ABC框架走,明天跟着EFG框架走,我们永远学不完,我们也永远不是真的懂。
如果说我们自己创建了一个框架,一个工具,那么这个创造过程中一定会遇到一系列的问题,而攻坚克难的这个过程会强化我们的能力与认知。
GitHub的好,不只是我们能从中免费拿到别人创造的东西,还有给予了我们机会去同样创造,贡献自己的东西给社区。
长久以来,我也不怎么贡献开源社区,核心原因就是懒。而2020年到现在1年多的时间,我有了些许的社区贡献,比如ADR,awesome-mac,IDEA插件,v2ray-docker,Alfred-workflows等。贡献花费了时间,但回报也很客观,比如自身的技术,比如结识了一些网友,比如英文书写的提高等等。总之开源贡献对自身有益。
那么如何贡献开源项目呢,这里Mark下开发流程。
如何贡献
一般更为标准的项目会有专门的文件介绍如何贡献,准确流程要以介绍为准,比如awsome-mac
这里介绍一般的操作流程,假设我只是个普通开发者,非项目管理员
fork
项目本地
clone
项目推荐使用GitHub CLI或IDEA等IDE自身的拉取功能,较为便捷
push
提交发起
PR
注意,在我的空间下的该项目中发起PR
等待管理员
review
等待
merged
通知OK后,代码将会合并到目标项目中去
如上即可完成项目贡献。
同步forked项目
如上只是最common的情况,但还有这样一个情况。假如我贡献提交到awsome-mac
,管理员也合并了,但我fork的项目是没有更新的,如果我又想继续提交,如何做呢。
两个办法
删除自己forked的项目,重新fork即可
本地项目历史变基
执行以下几个命令
1
2
3
4$ git fetch upstream
$ git checkout master
$ git rebase upstream/master
$ git push -f origin master本地变基也可以使用GUI来操作,如果是IDEA中可以直接执行该操作
写在最后
在保证不影响主工作的同时,适当的进行开源贡献,受益很多,so,加油。