这一章的内容,是如何给开源项目提交代码。开源项目,一般别人肯定不会给你权限直接操作仓库的。一个大型项目成百上千人开发的都很常见,这么人都给权限肯定很不安全,而且每个人都给权限也不现实啊。

如果你在使用开源项目的时候,发现别人写的有问题,想参与这个项目的开发,其实也是很容易的。GitHub 的这套大家都能参与的流程,其实还是使用的 Pull Request。但是又和上一节的内容,稍稍有些不同,且听我娓娓道来。

这次呢,我使用了两个不同的浏览器,登录了两个不同的 GitHub 账户来做演示。先来打开,https://github.com/canon4ever/pr_demo

1. Fork

开源的项目,大家是没有直接修改代码的权限的。但是注意看网站的右上角,有一个 Fork 按钮。

image.png

这个按钮的作用,是将对方仓库,拷贝一份到自己的仓库。你自己名下的仓库,你总有权限修改代码了吧?

Fork 完成后,会显示是从哪里过来的,现在大家就可以 Clone 到本地,然后修改代码了。

image.png

2. Clone 和修改

接着咱们直接点击,Open with GitHub Desktop,找合适的地方, Clone 下来

image.png

这里选择,为它的父项目做贡献,然后继续
image.png

使用编辑器打开以后,修改 README.md 如下

...

那我来吟诗吧:

```
天下风雨出我辈,一入江湖岁月催。
皇图霸业谈笑间,不胜人间一场醉。
```

项目修改完成后,写个注释,提交并 push。

3. Pull Request

回到 GitHub 网页上,点击 Pull request,

image.png

再点击,Create pull request

image.png

可评论下你做了什么,写点具体的内容。

4. Merge

然后会跳转到父项目的 PR 栏目里。切换到项目所有者的 GitHub 页面,现在就等待这个项目的所有者来操作了,他会点击 open this in GitHub Desktop,拉取你的代码做检查。他也有可能给你留言表达感谢。如果没什么问题,他就会做出合并了。

image.png

这就是参与开源项目的基础流程了。

5. 简单修改的方法

如果只是发现对方项目,一个非常小的错误,只需要简单修改一下,那上面的流程就有些繁琐了。更加简单的修改方式如下:

在对方仓库中,点开 README.md,直接点击编辑图标,加上标题,

## 江湖行

然后点击,Propose changes,再点击 Create pull request,写点注释,例如:加上标题了。

这样呢,项目的管理者,也会收到新的 Pull request,同样的,他觉得没问题后,就会执行 Merge 操作了。

还是切换到项目的所有者的 GitHub 账户,来执行下 Merge,再看看首页,标题就出现了。

已添加到喜欢了