Github 对开源项目贡献代码
作者: dkvirus 发表于: 2018-09-24 16:51:26 最近更新: 2018-09-24 16:51:32

之前一直在 gitlab 上进行协同工作,上传下载代码都没啥问题,但没机会做 PR(pull request)操作。最近同事整了个 smallbus-小程序,实时查询上海公交路线以及站点信息,dk 很感兴趣,查阅一番 PR 操作,也贡献了自己的代码。

这张图很形象表示了提 PR 流程。

github提pr图1

Step1:Fork 别人的 github 仓库

  • 原项目:smallbus
  • 原项目作者:xiajunyi
  • 我:dk
  • 目的:dk 想要对 smallbus 项目贡献代码

dk 直接克隆 xiajunyi/smallbus 代码到本地,修改完成后 push 操作会失败,原因是没有权限推送代码,这不是 dk 的仓库。

dk 点击右上角的 Fork 按钮,会在 dk 的 github 上新建同样的项目 smallbusxiajunyi/smallbusdkvirus/smallbus 之间是有关联的,不是单纯的复制一份代码那么简单。

Step2: 修改自己的 github 仓库

对自己 github 的仓库进行操作,无论 push 代码还是 pull 代码都是没问题的。

  • dk 从自己的 github 上 clone 代码 dkvirus/smallbus 到本地;
  • 在本地修改代码;
  • 将本地代码提交到 dk 的 github 上;

注:提交代码可以关联 issue,如:$ git commit -m "fix(index): 修复xx问题 (#10)",最后面的 (#10) 将此次提交与 issue#10 相关联。虽然是往 dkvirus/smallbus 提交代码,但这次提交在 xiajunyi/smallbus/issue#10 中也可以看到记录。

Step3:在【dkvirus/smallbus】中提 PR

github提pr图2

上一步在dkvirus/smallbus 中已经有代码被更改了,按照上图点击【New pull request】按钮,会将dkvirus/smallbus 中更改的代码提交到 xiajunyi/smallbus 中。

Step4:【xiajunyi/smallbus】审核 PR

给其它开源项目提交 PR 后,接下来就等待开源作者审核了。xiajunyi/smallbus 的开源作者 xiajunyi 看到 dk 提的 PR,如果觉得没问题,通过审核同步代码,那么 dk 提交的代码在 xiajunyi/smallbus 也就被更新了。

Step5:更新 Fork 的项目

开源项目可能会有很多人同时维护,在 Step1 中 Fork 了一份代码,过了一段时间,会发现与原项目代码不一样,怎么同步原项目代码呢?

还是提交【New pull request】按钮,只不过如下图手动更改下仓库顺序,前面那个仓库一定要是自己的仓库,后面那个是原作者的仓库,这样就会将原作者的仓库上的代码与自己的仓库进行同步更新。

github提pr图3

首页
友链
归档
dkvirus
动态
RSS