以前写了一个 GitHub 系列,反响很是不错,忽然发现竟然还落下点东西没写,前段时间 GitHub 也改版了,借此机会补充下。git
咱们都说开源社区最大的魅力是人人多可以參与进去,发挥众人的力量,让一个项目更无缺。更强壮。那么确定有人疑问,我本身眼下尚未能力开源一个项目,但是想一块儿參与到别的开源项目中。该怎么操做呢?那么今天,就来给你们一块儿介绍下 GitHub 上的一些常见的操做,看完以后你就知道方法了。github
咱们姑且以 Square 公司开源的 Retrofit 为例来介绍。微信
打开连接:markdown
https://github.com/square/retrofitpost
而后看到例如如下的项目主页:学习
可以看到一个项目可以进行的操做主要就是两部分,第一部分包含 Watch、Star、Fork ,这三个操做以前的系列介绍过了。这里就不啰嗦了。orm
咱们着重来介绍第二部分,分别包含 Code、Issues、Pull requests、Projects、Wiki、Pulse、Graphs。接下来咱们来一个个解释下。教程
这个好理解,就是你项目的代码文件而已,这里说明一下。每个项目一般都会有对该项目的介绍。仅仅需要在项目的根文件夹里加入一个 README.md 文件就可以。使用 markdown 语法。GitHub 本身主动会对该文件进行渲染。开发
Issues 表明该项目的一些问题或者 bug,并不是说 Issues 越少越好,Issues 被解决的越多说明项目做者或者组织响应很是积极。也说明该开源项目的做者很是重视该项目。文档
咱们来看下 Retrofit 的 Issues 主页,截至眼下 close(解决) 了 1305 个 Issue。open (待解决)状态的有 37 个,这解决这个问题的比例与速度值得每位开源项目的做者学习。
相同的,你们在使用一些开源项目有问题的时候都可以提 Issue。可以经过点击右上角的 New Issue 来新建 Issue,需要加入一个标题与描写叙述就可以了,这个操做很是easy。
咱们都知道 GitHub 的最大魅力在于人人均可參与,比方别人开源一个项目,咱们每个人都可以一块儿參与开发,一块儿来无缺。而这都经过 Pull requests 来完毕,简称 PR。这个无法在 Retrofit 演示,如下我就以我本身在 GitHub 上的一个项目 9GAG 来给你们具体演示下怎么给一个项目发起 PR:
提早说明下。你必须确保你可以正常向 GitHub 提交代码,假设不可以的话。请看我以前的系列文章。
第一步登陆你的 GitHub 帐号,而后找到你想发起 PR 的项目,这里以 9GAG 为例。点击右上角的 Fork button,而后该项目就出现在了你本身帐号的 Repository 里。
请注意。这个项目本来是属于 GitHub 帐号 stormzhang 下的,为了演示,我本身又又一次注冊了还有一个帐号叫 googdev 单纯为了演示而用。
Fork 以后。在帐号 googdev 下多了一个 9GAG 的项目,截图显演示样例如如下:
可以看到 Fork 过来的项目标题底部会显示一行小字:fork from stormzhang/9GAG 。除此以外,项目代码跟原项目如出一辙。对于原项目来讲。至关于别人新建了一个分支而已。
第二步。把该项目 clone 到本地,而后修改的 bug 也好。想要新增的功能也好,总之把本身作的代码修改开发完,保存好。
为了方便演示,我这里仅仅在原项目的 README.md 文件加入了一行文字:Fork from stormzhang !
接着,把本身作的代码修改 push 到 你本身的 GitHub 上去。
相信看过我前面教程的同窗这一步应该都会。不会的可以滚回去看前面的教程了。
第三步,点击你 Fork 过来的项目主页的 Pull requests 页面,
点击 New pull request button紧接着到例如如下页面:
这个页面本身主动会比較该项目与原有项目的不一样之处。最顶部声明了是 stormzhang/9GAG 项目的 master 分支与你 fork 过来的 googdev/9GAG 项目 master 分支所作的比較。
而后最顶部可以方便直观的看到究竟代码中作了哪些修改,大家也看到我就是加了一句 Fork from stormzhang !
相同的我写好标题和描写叙述。而后咱们点击中间的 Create pull request button,至此咱们就成功给该项目提交了一个 PR。
而后就等着项目原做者 review 你的代码。并且决定会不会接受你的 PR,假设接受,那么恭喜你。你已是该项目的贡献者之中的一个了。
这个是最新 GitHub 改版新增的一个项目。这个项目就是方便你把一些 Issues、Pull requests 进行分类。反正我认为该功能很是鸡肋,起码到眼下为止基本没人用该功能。大家了解下就好。
通常来讲,咱们项目的主页有 README.me 基本就够了,但是有些时候咱们项目的一些使用方法很是复杂。需要有具体的使用说明文档给开源项目的使用者。这个时候就用到了 Wiki。
使用起来也很是easy,直接 New Page ,而后使用 markdown 语法就能够进行编写。
Pulse 可以理解成该项目的活跃汇总。包含最近该仓库建立了多少个 Pull Request 或 Issue,有多少人參与了这个仓库的开发等,都可以在这里一目了然。
依据这个页面。用户可以推断该项目受关注程度以及项目做者是否还在积极參与解决这些问题等。
Graphs 是以图表的形式来展现该项目的一个整体状况。比方项目的全部贡献人,比方 commits 的围度分析,比方某天代码提交的频繁程度等。
假设一个项目是本身的。那么你会发现会多一个菜单 Settings,这里包含了你对整个项目的设置信息,比方对项目重命名。比方删除该项目,比方关闭项目的 Wiki 和 Issues 功能等,只是大部分状况下咱们都不需要对这些设置作更改。感兴趣的,可以自行看下这里的设置有哪些功能。
以上就包含了一个 GitHub 项目的全部操做,相信你们看完以后对 GitHub 上一些常用的操做都熟悉了,从现在開始,请一块儿參与到开源社区中来吧,开源社区需要咱们每个人都贡献一份力,这样开源社区才干愈来愈强大,也才干对不少其它的人有帮助!
从0開始学习 GitHub 系列之「向GitHub 提交代码」
从0開始学习 GitHub 系列之「团队合做利器 BRANCH」
从0開始学习 GitHub 系列之「怎样发现优秀的开源项目?」
本文原创公布于微信公众号 AndroidDeveloper ,转载请务必注明出处!