给开源项目贡献代码的经历

工作好几年了还没有成为一名开源贡献者,实属失败,最近进行了人生中的第一次给开源项目贡献代码,记录一下。温馨提示:文章较长,不想听我啰嗦的,直接看最后总结。

背景

作为一个 技术开发者 怎么能没有属于自己的 技术博客呢,我很荣幸,选择了 一个优秀的 开源博客项目:Hexo 和 一个hexo 主题:hexo-theme-next**。**因为 其源码是 Nodejs 写的,恰好我也是写 Node 的,所以在使用过程中 有一些疑问、bug 或 需求 我能够 简单读懂 和 修正,这次 给贡献代码的项目就是 them next。

贡献历程

没有经验的我,首先 第一步 开怼的是 从 github 把它的项目 clone 到本地,然后创建了一个新的分支,接着就开始 怼代码,一顿操作之后,终于代码 coding 完成!下面的 步骤是 git 常规提交代码流程:git add, git commit (按照我们开发规范:参照 angular commit message 格式),踩坑开始,git push 的最后一步:git push origin branchname,执行报错:No permission。此时,蒙蔽中… 回过神来。

第一步:为啥远程分支也不让提交?我想起我们的项目是 只有 参与者才能贡献代码,于是我查看了一下 项目的成员,其实这完全属于瞎想,扭头拍下脑袋,不对,这不是开源项目吗,不可能只有参与者才能提交,否定自己。

第二步:无计可施,面向 google 吧,然后找到 秘籍:如何给开源项目贡献代码?看的过程中,马上回忆到以前同事给我说过,先从源项目 fork 一份到自己的 github 仓储中然后在自己的分支下编写代码,提交…重复 上面 提交代码的流程。诶,这次提交成功了,欣喜,到这时候 已经 鼓捣 半小时了,认真起来的我 看到 效果了,满怀激动,接着干。

第三步:创建 pr(New pull request)。commit message 都 仔细 小心 地 选择 英语单词和短语,当我提交的那一刻,弹出了一些列表:
在这里插入图片描述

对于英文不是很好我,又是一个绊脚石,不过还好 关键词 都认识,一边猜 一边 翻译,大概也知道都做些什么了:

  1. 改变选择状态 将[ ] -> [x],点了一下旁边的 Preview 预览了一下效果,不错 ☑️ 了

  2. 是否对你所做的(bug 修复/新功能) 进行了 测试,下面两个 不知道是什么测试,仓储中没有单元测试,不过 官方有测试的 文档,测试了一下,并且 对我自己的项目中进行了测试和发布,所以我几乎确保没有问题!

  3. commit message 是否 按照 规范格式了,然后给出一个文档,接下来又是一顿读文档,读完之后 还好 跟我平时 提交代码 规范 差不太多,只是更换了 首字母大写,type 多了几种。

  4. 是否在 官方使用文档中 添加了你的修改,然后给出一个链接,这个链接是 专门放 文档的一个仓储,这里放着各类文档,说明文档,使用文档,第三方文档 等,然后我看了一下目录 按 规定 修改了 文档 并 提交了 pr,过程中 还要 签一个保密协议,邮箱 发来一个 链接,授权 签完之后,文档这块算是处理完了!

  5. 回过头来继续看下面,PR Type ,我选择了 Feature 因为没有更合适的 type 了。

  6. 当前版本是多少?我没有填,因为 我后来才注意到,也觉得没那么重要,就忽略了

  7. 新版本修改吗?没有填,理由同上一条

  8. 如何在配置中使用?给出一个代码块,使用方式 填写了。

最后给上了一张完成的截图。

最最后一步,一键 create,大功告成! 废了这么久功夫,终于完成,小激动。

总结

  1. 从 github 官方开源项目 fork 一份到 自己仓储
  2. git clone 到本地
  3. coding 代码
  4. 提交
  5. 创建 PR 到 官方
  6. 等待 Approve and merge。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值