从0開始学习 GitHub 系列之「07.GitHub 常见的几种操作」
之前写了一个 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 系列之「团队合作利器 BRANCH」
从0開始学习 GitHub 系列之「怎样发现优秀的开源项目?」
本文原创公布于微信公众号 AndroidDeveloper ,转载请务必注明出处!
从0開始学习 GitHub 系列之「07.GitHub 常见的几种操作」的更多相关文章
- 从0开始学习 GitHub 系列之「07.GitHub 常见的几种操作」
之前写了一个 GitHub 系列,反响很不错,突然发现竟然还落下点东西没写,前段时间 GitHub 也改版了,借此机会补充下. 我们都说开源社区最大的魅力是人人多可以参与进去,发挥众人的力量,让一个项 ...
- 从0开始学习 GITHUB 系列之「加入 GITHUB」【转】
本文转载自:http://stormzhang.com/github/2016/05/26/learn-github-from-zero2/ 版权声明:本文为 stormzhang 原创文章,可以随意 ...
- 从0开始学习 GITHUB 系列之「向GITHUB 提交代码」【转】
本文转载自:http://stormzhang.com/github/2016/06/04/learn-github-from-zero4/ 版权声明:本文为 stormzhang 原创文章,可以随意 ...
- 从0开始学习 GITHUB 系列之「初识 GITHUB」【转】
本文转载自:http://stormzhang.com/github/2016/05/25/learn-github-from-zero1/ 版权声明:本文为 stormzhang 原创文章,可以随意 ...
- 从0开始学习 GitHub 系列之「08.如何发现优秀的开源项目」
之前发过一系列有关 GitHub 的文章,有同学问了,GitHub 我大概了解了,Git 也差不多会使用了,但是 还是搞不清 GitHub 如何帮助我的工作,怎么提升我的工作效率? 问到点子上了,Gi ...
- 从0开始学习 GITHUB 系列之「GITHUB 常见的几种操作」【转】
本文转载自:http://stormzhang.com/github/2016/09/21/learn-github-from-zero8/ 版权声明:本文为 stormzhang 原创文章,可以随意 ...
- GitHub 系列之「向GitHub 提交代码」
1.SSH 你拥有了一个 GitHub 账号之后,就可以自由的 clone 或者下载其他项目,也可以创建自己的项目,但是你没法提交代码.仔细想想也知道,肯定不可能随意就能提交代码的,如果随意可以提交代 ...
- 从0开始学习 GITHUB 系列之「GIT 速成」【转】
本文转载自:http://stormzhang.com/github/2016/05/30/learn-github-from-zero3/ 版权声明:本文为 stormzhang 原创文章,可以随意 ...
- 从0开始学习 GitHub 系列之「03.Git 速成」
前面的 GitHub 系列文章介绍过,GitHub 是基于 Git 的,所以也就意味着 Git 是基础,如果你不会 Git ,那么接下来你完全继续不下去,所以今天的教程就来说说 Git ,当然关于 G ...
随机推荐
- actionMode - 在屏幕中的显示位置设置
actionMode 默认的显示位置是在屏幕上方的,如果想要移到下方,可以添加如下属性 在AndroidManifest.xml 的activity中,做如下修改 <activity andro ...
- animation- 动画效果实现(xml形式实现)
1.定义xml动画 1)在anim文件夹下定义xml文件 解释:这个文件夹下面的文件会被默认为动画文件,如果这个文件不存在,需要自己创建 display_result_anim.xml <?xm ...
- [NowCoder]牛客网NOIP赛前集训营-提高组(第七场)
链接 A.中国式家长2 模拟题,毫无坑点 #include<bits/stdc++.h> #define REP(i,a,b) for(int i(a);i<=(b);++i) #d ...
- [NOI.AC#31]MST 计数类DP
链接 注意到 \(n\) 只有40,爆搜一下发现40的整数拆分(相当于把 \(n\) 分成几个联通块)很少 因此可以枚举联通块状态来转移,这个状态直接用vector存起来,再用map映射,反正40也不 ...
- 使用JOTM实现分布式事务管理(多数据源)
使用spring和hibernate可以很方便的实现一个数据源的事务管理,但是如果需要同时对多个数据源进行事务控制,并且不想使用重量级容器提供的机制的话,可以使用JOTM达到目的. JOTM的配置十分 ...
- PowerApps和Flow,Power BI开发
为PowerApps和Flow,Power BI开发自定义连接器 作者:陈希章 发表于 2017年12月20日 前言 我在之前用了几篇文章来介绍新一代微软商业应用平台三剑客(PowerApps,Mic ...
- C#委托与事件(生动故事)
[委托] 1,工人Peter按工作步骤向老板报告的程序. 程序: using System; using System.Collections.Generic; using System.Linq; ...
- Javascript和jquery事件--双击事件
在js中和jq中对应的命名都为dblclick,ondblclick,但是ondblclick和dom元素的属性相似,可以在行内设置,也可以使用attr设置. 同时,双击事件需要关注一个问题,那就是双 ...
- JS里的函数的call()与back()方法
function cat(){} cat.prototype={ food:"fish", say: function(){ alert("I love "+t ...
- FZU Problem 2156 Climb Stairs DP
http://acm.fzu.edu.cn/problem.php?pid=2156 题目大意: 爬楼梯,要爬到n这个位置,每次可以走x也可以走y,然后一定要经过A和B两点,求最终到达n的方案数. 思 ...