【大牛之路】如何在github上为开源项目贡献
2017-11-22 17:07
447 查看
前言
我们在学习的日常中会用到的各种开源软件,大一点的Linux,Apache,Nginx,MySQL,Redis,小一点的Muduo,Axel,那么如何去给一个开源项目做贡献呢。这里我主要介绍如何使用github来为开源项目贡献,或者说,使用github进行多人协作。
本文主要使用@Hg_Yi @dela @dongmengyuan 的Java Web项目作为示例,借用了@Axin的帐号来示范操作,感谢小伙伴们的友情支持。
正文
首先我们想为开源贡献的流程往往是:1.找到一个需要的开源项目。
2.使用、或者学习它。
3.在学习/使用中发现问题,或者想为它做贡献(改bug,加feature)。
但问题是不知道如何贡献,或者说这个流程应该是怎样的。
这里我们用一个非常简单的例子来描述一下大致的流程。
首先Fork之
在你需要的项目主页,点击右上角的fork这样你能拥有一份项目的拷贝,同时看到你的项目与主分支有哪些差异。
Fork好啦
这就是你自己的代码,你想怎么就怎么改。需要注意的是可以看到多了一行
This branch is even with xiyouLinuxJavaWeb15:master
表示我们与主分支目前没有任何的差异。
把fork后的远程仓库拉到本地
这里就是准备在本地看代码和修改啦。(这里我们已经进行了修改,并且push到fork的远程仓库)
提交Issue
Issue就是对项目的疑问,包括bug的提交,可以说是一个与其他人(主要是项目的拥有者)交流的方式。当然对于社区来说,更加频繁的交流可要通过邮件列表。
提交PR
准备提交PR(pull request)提交好的PR
然后就是等待了,会有项目的开发者review你的PR,进行讨论,修改直到符合之后,便会merge进主分支,你也就为开源项目贡献了自己的代码。
与远程同步
为了及时同步远程主分支,我们先要添加一个远程分支,使用git remote add,添加成功后,我们在本地就可以用git fetch拉下来,然后查看日志,如果确认无误,就可以git merge。当然这里也可以直接git pull自动进行merge(这里手误多加了一个分支)
参考阅读
GitHub Pull RequestGithub Issue
Git fetch和git pull的区别
Git基本概念
get log 查看提交历史
Pull Request的正确打开方式(如何在GitHub上贡献开源项目)
相关文章推荐
- 番外:如何给github上的开源项目贡献代码?
- Pull Request的正确打开方式(如何在GitHub上贡献开源项目)
- Pull Request的正确打开方式(如何在GitHub上贡献开源项目)
- 如何在Github上为开源项目贡献自己的代码
- Github使用之Pull Request的正确打开方式(如何在GitHub上贡献开源项目)
- Github上如何找到一个优秀的且可以贡献的开源项目?
- Android框架之路——Studio如何导入Github开源项目
- 如何在github上发起一个pull request,如何贡献代码,参与开源项目
- 如何在github上发起一个pull request,如何贡献代码,参与开源项目
- Github | 如何贡献Android开源项目和提交补丁
- Github 开源项目贡献指南:如何给开源项目做贡献 (上)
- 如何在 Github 上发现优秀的开源项目?
- 如何在github上fork一个项目来贡献代码以及同步原作者的修改
- github,怎么向开源项目贡献自己的代码和协作
- 如何在 Github 上发现优秀的开源项目
- 如何在github上fork一个项目来贡献代码以及同步原作者的修改
- 如何将Github上的开源项目集成到我们的项目——Android篇
- 如何使用Github参与开源项目(以eoe的Android客户端为例)
- 如何在github发布个人网站或开源项目-手把手教您制作并发布个人网站或主页(二)