如何优雅的在Github上参与开源项目贡献自己的代码

很多同学在学习了Git以后已经蠢蠢欲动了,在开源项目上有一些自己的见解或看法,又或者发现了BUG和性能优化的地方,但如何将自己的代码贡献给开源项目呢?今天就带大家优雅的共享自己的代码。

首先,得有Github的账号(废话),然后到目标项目的主页,例如:https://github.com/NeilRen/NEILREN4J

这时候分两种情况,一种是并不确定是代码的问题还是自己使用配置的问题又或者没有写代码修复的能力,这个时候就需要提一个 issues ,这个是问题反馈,提出一个问题,和作者以及其他开发人员可以在这里展开激烈的讨论,让原开发团队注意到这个问题。

第二种情况是你十分确定这是一个BUG,并且你通过修改代码修复了它,希望将自己的代码合并到这个开源项目贡献自己的代码,那就需要这样做:

1.仔细阅读 README.md 文件,里面可能会告诉你遇到问题该怎么办;还有 CODE_OF_CONDUCT.md 如果有的话会告诉你贡献代码的标准规范,请贡献符合要求的代码;看一下 PULL_REQUEST_TEMPLATE.md 里面描述的 Pull Request 模板,如果有要求的话后面请创建符合要求的 Pull Request;CONTRIBUTING.md 会写一些特殊约定,如果有的话请看一下。要符合人家项目要求的规范代码才可以哦。

2.Fork 项目到自己的仓库中,由于是别人的项目我们并没有直接修改的权限,所以需要先Fork到自己的仓库中,修改自己仓库中的版本,并commit、push到自己的仓库中,修改代码的时候如果有 CODE_OF_CONDUCT.md 文件,请按照 CODE_OF_CONDUCT.md 文件中要求的编码规约进行修改。

/5636448416834a69af72a77359de0bc2.png

/50cbc83f55184944b3b5380b0ec4dc44.png

3.创建一个 Pull Request 拉请求,如果有 PULL_REQUEST_TEMPLATE.md 文件,请按照模板文件要求进行创建,要选择好分支,有一些项目是在开发分支上工作的,不能直接向 master 分支提交任何东西,管理员没法同意合并,要入乡随俗哦。修改的分支要和人家的要求一样哦。然后按照模板要求填写标题、描述,点击创建按钮,等待项目管理员进行审核是否要将你的代码合并到项目中。

/e62138d7f38c478495695ab124d3bce8.png

/7a668ef6516945f6a67296f90ec6bb92.png

/f6c1026793c74280b4d94e0c292f0045.png


另外,还有额外的情况,比如你的代码有BUG或者没有按要求进行编码,管理员不能同意合并你的代码进来,那这个时候你只需要按照管理员的回复要求,修改自己仓库中的代码,然后 commit、push 即可,无需再进行一遍上面的流程了。