如何在Github上给别人的项目贡献代码

以开源库YCXMenu为例。

需求

原开源库的菜单item选中效果是这样的:



我发现这个蓝色的选中颜色并不是很适合我正在做的项目。查看源码,发现没有相关的接口。

在项目主页上看了下,也有人提建议说需要加上这样的功能。



自己动手丰衣足食,let's do it。

Git操作

添加这样的功能并不难,在这里就不做代码分析了。之前没有用过Git的Pull Request功能,虽然有fork过几个项目,也还是没有给别人贡献过代码,上网看了一些简单的教程,其实也不难。

  • fork一下:首先在项目主页上点击Fork,然后你的github主页上就会多一个项目仓库。
  • git clone:这个项目到本地。要修改别人的项目当然要下载到本地拉。
  • 修改代码,完善功能。
  • git status:检查一下改动了那些文件,如果有需要忽略或者增加track的文件,就git add,或者编辑vi .gitignore文件,这个文件的语法在文件里面写的很清除,此处省略。
    • 编辑完.gitignore文件后,用git status检查一下,如果没有变化,就是缓存没有清除,使用这个命令:git rm -r --cached .,之后在git status
  • git commit -a -m "Add:balabalabala":提交更改,-a命令,只提交改动,-m改动说明,说明格式建议如下:
Mod: remove unused code, 表示修改(Modify)
Add: a new module to have faster process, 表示新增(Add)
Rem: deprecate unused modules, 表示移除(Remove)
Ref: improved the implementation of module X, 表示重构(Refactory)
  • git push -u origin master:提交到远程残酷,至此终端上的操作完成。进入github网页操作。

  • 进入自己的主页,选择这个fork的项目,然后点击



    进入pull request页面,确认提交的更改,确认无误后,开始填写说明。

  • 如下,点击create pull request来填写说明





    markdown在这里写下本次提交的说明。

  • 至此大功告成啦。接下来就看原作者愿不愿意merge你的提交了。