之前写了一个 GitHub 系列,反响非常不错,突然发现居然还落下点东西没写,前段时间 GitHub 也改版了,借此机会补充下。

我们都说开源社区最大的魅力是人人多能够參与进去,发挥众人的力量,让一个项目更完好。更强壮。那么肯定有人疑问,我自己眼下还没有能力开源一个项目,可是想一起參与到别的开源项目中。该怎么操作呢?那么今天,就来给大家一起介绍下 GitHub 上的一些常见的操作,看完之后你就知道方法了。

我们姑且以 Square 公司开源的 Retrofit 为例来介绍。

打开链接:

https://github.com/square/retrofit

然后看到例如以下的项目主页:

能够看到一个项目能够进行的操作主要就是两部分,第一部分包含 Watch、Star、Fork ,这三个操作之前的系列介绍过了。这里就不啰嗦了。

我们着重来介绍第二部分,分别包含 Code、Issues、Pull requests、Projects、Wiki、Pulse、Graphs。接下来我们来一个个解释下。

  • Code

这个好理解,就是你项目的代码文件而已,这里说明一下。每一个项目通常都会有对该项目的介绍。仅仅须要在项目的根文件夹里加入一个 README.md 文件就能够。使用 markdown 语法。GitHub 自己主动会对该文件进行渲染。

  • Issues

Issues 代表该项目的一些问题或者 bug,并非说 Issues 越少越好,Issues 被解决的越多说明项目作者或者组织响应非常积极。也说明该开源项目的作者非常重视该项目。

我们来看下 Retrofit 的 Issues 主页,截至眼下 close(解决) 了 1305 个 Issue。open (待解决)状态的有 37 个,这解决这个问题的比例与速度值得每位开源项目的作者学习。

相同的,大家在使用一些开源项目有问题的时候都能够提 Issue。能够通过点击右上角的 New Issue 来新建 Issue,须要加入一个标题与描写叙述就能够了,这个操作非常easy。

  • Pull requests

我们都知道 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,假设接受,那么恭喜你。你已经是该项目的贡献者之中的一个了。

  • Projects

这个是最新 GitHub 改版新增的一个项目。这个项目就是方便你把一些 Issues、Pull requests 进行分类。反正我认为该功能非常鸡肋,起码到眼下为止基本没人用该功能。你们了解下就好。

  • Wiki

一般来说,我们项目的主页有 README.me 基本就够了,可是有些时候我们项目的一些使用方法非常复杂。须要有具体的使用说明文档给开源项目的使用者。这个时候就用到了 Wiki。

使用起来也非常easy,直接 New Page ,然后使用 markdown 语法就可以进行编写。

  • Pulse

Pulse 能够理解成该项目的活跃汇总。包含最近该仓库创建了多少个 Pull Request 或 Issue,有多少人參与了这个仓库的开发等,都能够在这里一目了然。

依据这个页面。用户能够推断该项目受关注程度以及项目作者是否还在积极參与解决这些问题等。

  • Graphs

Graphs 是以图表的形式来展示该项目的一个总体情况。比方项目的所有贡献人,比方 commits 的围度分析,比方某天代码提交的频繁程度等。

  • Settings

假设一个项目是自己的。那么你会发现会多一个菜单 Settings,这里包含了你对整个项目的设置信息,比方对项目重命名。比方删除该项目,比方关闭项目的 Wiki 和 Issues 功能等,只是大部分情况下我们都不须要对这些设置做更改。感兴趣的,能够自行看下这里的设置有哪些功能。

以上就包含了一个 GitHub 项目的所有操作,相信大家看完之后对 GitHub 上一些经常使用的操作都熟悉了,从如今開始,请一起參与到开源社区中来吧,开源社区须要我们每一个人都贡献一份力,这样开源社区才干越来越强大,也才干对很多其它的人有帮助!

相关阅读

从0開始学习 GitHub 系列之「初识 GitHub」

从0開始学习 GitHub 系列之「加入 GitHub」

从0開始学习 GitHub 系列之「Git 速成」

从0開始学习 GitHub 系列之「向GitHub 提交代码」

从0開始学习 GitHub 系列之「Git 进阶」

从0開始学习 GitHub 系列之「团队合作利器 BRANCH」

从0開始学习 GitHub 系列之「怎样发现优秀的开源项目?」

本文原创公布于微信公众号 AndroidDeveloper ,转载请务必注明出处!

从0開始学习 GitHub 系列之「07.GitHub 常见的几种操作」的更多相关文章

  1. 从0开始学习 GitHub 系列之「07.GitHub 常见的几种操作」

    之前写了一个 GitHub 系列,反响很不错,突然发现竟然还落下点东西没写,前段时间 GitHub 也改版了,借此机会补充下. 我们都说开源社区最大的魅力是人人多可以参与进去,发挥众人的力量,让一个项 ...

  2. 从0开始学习 GITHUB 系列之「加入 GITHUB」【转】

    本文转载自:http://stormzhang.com/github/2016/05/26/learn-github-from-zero2/ 版权声明:本文为 stormzhang 原创文章,可以随意 ...

  3. 从0开始学习 GITHUB 系列之「向GITHUB 提交代码」【转】

    本文转载自:http://stormzhang.com/github/2016/06/04/learn-github-from-zero4/ 版权声明:本文为 stormzhang 原创文章,可以随意 ...

  4. 从0开始学习 GITHUB 系列之「初识 GITHUB」【转】

    本文转载自:http://stormzhang.com/github/2016/05/25/learn-github-from-zero1/ 版权声明:本文为 stormzhang 原创文章,可以随意 ...

  5. 从0开始学习 GitHub 系列之「08.如何发现优秀的开源项目」

    之前发过一系列有关 GitHub 的文章,有同学问了,GitHub 我大概了解了,Git 也差不多会使用了,但是 还是搞不清 GitHub 如何帮助我的工作,怎么提升我的工作效率? 问到点子上了,Gi ...

  6. 从0开始学习 GITHUB 系列之「GITHUB 常见的几种操作」【转】

    本文转载自:http://stormzhang.com/github/2016/09/21/learn-github-from-zero8/ 版权声明:本文为 stormzhang 原创文章,可以随意 ...

  7. GitHub 系列之「向GitHub 提交代码」

    1.SSH 你拥有了一个 GitHub 账号之后,就可以自由的 clone 或者下载其他项目,也可以创建自己的项目,但是你没法提交代码.仔细想想也知道,肯定不可能随意就能提交代码的,如果随意可以提交代 ...

  8. 从0开始学习 GITHUB 系列之「GIT 速成」【转】

    本文转载自:http://stormzhang.com/github/2016/05/30/learn-github-from-zero3/ 版权声明:本文为 stormzhang 原创文章,可以随意 ...

  9. 从0开始学习 GitHub 系列之「03.Git 速成」

    前面的 GitHub 系列文章介绍过,GitHub 是基于 Git 的,所以也就意味着 Git 是基础,如果你不会 Git ,那么接下来你完全继续不下去,所以今天的教程就来说说 Git ,当然关于 G ...

随机推荐

  1. HDU 5063 Operation the Sequence(暴力 数学)

    题目链接:pid=5063" target="_blank">http://acm.hdu.edu.cn/showproblem.php?pid=5063 Prob ...

  2. Extjs, 使用GridPanel出现 Layout run failed

    当GridPanel被加入到容器,且容器的layout为vbox时候, 会出现 Layout run failed 后者GridPanel的尺寸没有撑满父容器 网上找到的解决的方法是.要给父容器设置一 ...

  3. 简单的WINFORM窗口,体验WINFORM带来的快感

    当习惯成为一种自然,就不再喜欢那种条条框框的规则 using System; using System.Windows.Forms; namespace Window{ class Window{ s ...

  4. codecombat之边远地区的森林12-22关及地牢39关代码分享

    codecombat中国游戏网址:http://www.codecombat.cn/ 全部代码为javascript代码分享 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ...

  5. 怎样解决git提交代码冲突

    当我们使用git提交代码时,别人可能也同一时候改动了我们改动的文件,可是别人的先合入到配置库里边,这样当我们的提交要合入时.就会产生冲突,能够使用下面步骤来解决冲突: (1) git rebase   ...

  6. Python: scikit-image gamma and log 对比度调整

    这个函数,主要用来做对比度调整,利用 gamma 曲线 或者 log 函数曲线, gamma 函数的表达式: y=xγ, 其中, x 是输入的像素值,取值范围为 [0−1], y 是输出的像素值,通过 ...

  7. IIS进程回收 空闲时Net线程未运行

    最近手上的项目,用的是asp.net mvc,后台有个线程在循环接收socket数据,本身在系统运行的时候访问页面没问题,但是发现没访问时,后台没有接收数据,后来知道了是IIS把线程回收了.解决方法如 ...

  8. 设计模式六大原则(六): 开闭原则(Open Closed Principle)

    定义: 一个软件实体如类.模块和函数应该对扩展开放,对修改关闭. 问题由来: 在软件的生命周期内,因为变化.升级和维护等原因需要对软件原有代码进行修改时,可能会给旧代码中引入错误,也可能会使我们不得不 ...

  9. mycat基本概念及读写分离一

    mycat基本概念及读写分离一 目录(?)[+] 安装与启动 mycat目录介绍 mycat三个最重要配置文件 验证读写分离 安装与启动 linux下可以下载Mycat-server-xxxxx.li ...

  10. 洛谷 P1303 A*B Problem

    P1303 A*B Problem 题目描述 求两数的积. 输入输出格式 输入格式: 两行,两个数. 输出格式: 积 输入输出样例 输入样例#1: 复制 1 2 输出样例#1: 复制 2 说明 每个数 ...