关键词:
之前写了一个 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系列之「向github提交代码」
转载自http://stormzhang.com之前的这篇文章「从0开始学习GitHub系列之「Git速成」」相信大家都已经对Git的基本操作熟悉了,但是这篇文章只介绍了对本地Git仓库的基本操作,今天我就来介绍下如何跟远程仓库一起协作,教你们向GitHu... 查看详情
转载从0开始学习github系列之「初识github」
...我转念一想,我当初接触GitHub也大概工作了一年多才开始学习使用,我读者里很多是初学者,而且还有很多是在校大学生,所以不会用GitHub也就不奇怪了,所以我觉得写 查看详情
从0开始学习github系列之「github常见的几种操作」
之前写了一个GitHub系列,反响很不错,突然发现竟然还落下点东西没写,前段时间GitHub也改版了,借此机会补充下。我们都说开源社区最大的魅力是人人多可以参与进去,发挥众人的力量,让一个项目更完善,更强壮。那么肯定... 查看详情
转载从0开始学习github系列之「git进阶」
转载自http://stormzhang.com关于Git相信大家看了之前一系列的文章已经初步会使用了,但是关于Git还有很多知识与技巧是你不知道的,今天就来给大家介绍下一些Git进阶的知识。1.用户名和邮箱我们知道我们进行的每一次commit都会产... 查看详情
转载从0开始学习github系列之「团队合作利器branch」
转载自http://stormzhang.comGit相比于SVN最强大的一个地方就在于「分支」,Git的分支操作简直不要太方便,而实际项目开发中团队合作最依赖的莫过于分支了,关于分支前面的系列也提到过,但是本篇会详细讲述什么是分支、分支的... 查看详情
从0到1学习边缘容器系列之边缘应用管理
大家对使用Kubernetes管理应用已经比较熟悉,但是边缘场景下的应用部署和管理是否存在不同的需求呢?本文将和大家一起探讨边缘场景下常见的容器应用管理方案。1边缘简单服务场景在笔者接触过的边缘需求中部分用户业务场... 查看详情
mysql之存储引擎大全-《从0到1-全面深刻理解mysql系列-第五篇》
个人主页:IT学习日记版权:本文由【IT学习日记】原创、在CSDN首发公众号:【IT学习日记】一个只搞干货的公众号如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)、有任何问题欢迎私信,看到会及时回复!文章大纲一、前言二:... 查看详情
git学习系列之如何正确且高效地将本地项目上传到github(图文详解)(代码片段)
.../github.com/ 见 Git的安装 见Git学习系列之Windows上安装Git详细步骤(图文详解) 1、进入Github首 查看详情
irrlicht3dengine笔记系列之教程4-movement
作者:i_dovelemon日期:2014/12/16来源:CSDN主题:EventReceiver,Animator,Framerateindependentmovementandframeratedependentmovement引言 从今天開始,博主将进行对3DEngine的学习。而且,在博客中将自己学习的心得一一分享给大 查看详情
r语言数据分析系列之五
...我的github项目:https://github.com/comaple/R-wordcloud.git好了我们開始今天的旅程吧:本节用到的包有:RColorBrewer用来生成序列颜色值,plotri 查看详情
git与github快速学习上手
一Github的学习和上手资料总结对于我这种小白来说,git与github以前只听过大名,今天看了一篇博客之后,感觉别人写的很好,这里我大家分享下.看他的博客的话,大楷2个小时,就基本比较了解git和github... 查看详情
promethus学习系列(三十五)之报警简介
参考技术A使用普罗米修斯进行警报分为两部分。Prometheus服务器中的警报规则会向Alertmanager发送警报。然后,Alertmanager管理这些警报,包括静音,禁止,聚合以及通过电子邮件,PagerDuty和HipChat等方法发送通知。设置警报和通知的... 查看详情
学习系列之索引器与属性
实际工作中我们遇到索引器的地方有很多,我们都是似曾相似,今天我们一起来揭开他们的神秘面纱项目开发中在获得DataGridView控件的某列值时:dgvlist.SelectedRows[0].Cells[0].Value;在获得ListView控件的某列值时:listView1.SelectedItems[0].S... 查看详情
servlet之生命周期入门版(刚開始学习的人必看)
6,Servlet的解说6.1Servlet生命周期,继承HttpServletinit方法(初始化Servlet)将来能够做一些初始化工作service方法(处理请求)一般不须要重写service方法,Servlet会依据请求时的方式调用相应方法get请求调用doGet方法,post请求调用doPos... 查看详情
netty4.0学习笔记系列之六:多种通讯协议支持
上文介绍了如何应用Netty开发自定义通讯协议,本文在此基础上进一步深化,研究如何同时支持不同的通讯协议。此处所谓的通讯协议,指的是把Netty通讯管道中的二进制流转换为对象、把对象转换成二进制流的过程。转换过程... 查看详情
spark2.0机器学习系列之7:mlpc(多层神经网络)
...softmax函数。输出层的节点的数目表示分类器有几类。MLPC学习过程中 查看详情
css3学习系列之动画
Transitions功能使用方法在css3中,transitions功能通过将元素的某个属性从一个属性值在指定的时间内平滑过渡到另一个属性值来实现动画功能,可通过transitions属性来使用transitions功能。transitions属性的使用方法如下所示:transitions... 查看详情
gpu编程入门到精通之gpu程序优化
博主因为工作其中的须要,開始学习GPU上面的编程,主要涉及到的是基于GPU的深度学习方面的知识,鉴于之前没有接触过GPU编程。因此在这里特地学习一下GPU上面的编程。有志同道合的小伙伴。欢迎一起交流和学习,我的邮箱:[e... 查看详情