如何在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
你的提交了。