关键词:
之前写了一个 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,需要添加一个标题与描述就可以了,这个操作很简单。
- Pull requests
我们都知道 GitHub 的最大魅力在于人人都可参与,比如别人开源一个项目,我们每个人都可以一起参与开发,一起来完善,而这都通过 Pull requests 来完成,简称 PR。这个没法在 Retrofit 演示,下面我就以我自己在 GitHub 上的一个项目 9GAG 来给大家详细演示下怎么给一个项目发起 PR:
提前说明下,你必须确保你可以正常向 GitHub 提交代码,如果不可以的话,请看我之前的系列文章。
第一步登录你的 GitHub 账号,然后找到你想发起 PR 的项目,这里以 9GAG 为例,点击右上角的 Fork 按钮,然后该项目就出现在了你自己账号的 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 按钮紧接着到如下页面:
这个页面自动会比较该项目与原有项目的不同之处,最顶部声明了是 stormzhang/9GAG 项目的 master 分支与你 fork 过来的 googdev/9GAG 项目 master 分支所做的比较。
然后最顶部可以方便直观的看到到底代码中做了哪些改动,你们也看到我就是加了一句 Fork from stormzhang !
同样的我写好标题和描述,然后我们点击中间的 Create pull request 按钮,至此我们就成功给该项目提交了一个 PR。
然后就等着项目原作者 review 你的代码,并且决定会不会接受你的 PR,如果接受,那么恭喜你,你已经是该项目的贡献者之一了。
- Projects
这个是最新 GitHub 改版新增的一个项目,这个项目就是方便你把一些 Issues、Pull requests 进行分类,反正我觉得该功能很鸡肋,起码到目前为止基本没人用该功能,你们了解下就好。
- Wiki
一般来说,我们项目的主页有 README.me 基本就够了,但是有些时候我们项目的一些用法很复杂,需要有详细的使用说明文档给开源项目的使用者,这个时候就用到了 Wiki。
使用起来也很简单,直接 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系列之「07.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的分支操作简直不要太方便,而实际项目开发中团队合作最依赖的莫过于分支了,关于分支前面的系列也提到过,但是本篇会详细讲述什么是分支、分支的... 查看详情
git与github快速学习上手
...it和github,并且可以练习完它的列子。来自stormzhang从0开始学习GitHub系列之「01.初 查看详情
git学习系列之如何正确且高效地将本地项目上传到github(图文详解)(代码片段)
.../github.com/ 见 Git的安装 见Git学习系列之Windows上安装Git详细步骤(图文详解) 1、进入Github首 查看详情
从0到1学习边缘容器系列之边缘应用管理
大家对使用Kubernetes管理应用已经比较熟悉,但是边缘场景下的应用部署和管理是否存在不同的需求呢?本文将和大家一起探讨边缘场景下常见的容器应用管理方案。1边缘简单服务场景在笔者接触过的边缘需求中部分用户业务场... 查看详情
从0到1合理高效使用github的资料
...hub.md说明作为一名开发者,Github上面有很多东西值得关注学习,可是刚刚接触github,怎样一步步学习使用Github?怎样更高效的利用Github?在这里搜集整理网络上面的资料,汇总成这么一篇repo《Github使用指南》,供大家一起学习... 查看详情
从零开始学web之css3边框图片,过渡
大家好,这里是「从零开始学Web系列教程」,并在下列地址同步更新......github:https://github.com/Daotin/Web微信公众号:Web前端之巅博客园:http://www.cnblogs.com/lvonve/CSDN:https://blog.csdn.net/lvonve/在这里我会从Web前端零基础开始,一步步... 查看详情
github系列之「怎样使用github?」
...ub?跟朋友在交流的时候听到求职的时候发现有些公司要附Github帐号,一个优秀的GitHub账号当然能让你增色不少。自己之前听说过,但没有花时间研究,最后花了时间看了CitHub的文档,还有一些程序员写的的blog,就写下来了。2.Git... 查看详情
从零开始系列之vue全家桶安装调试插件vuedevtools
小白安装前提是会用git,会从github上找东西。第一步: 我们可以先从github上找到vue-devtools的项目,下载到本地。下载vue-devtools链接。克隆方法:gitclone https://github.com/vuejs/vue-devtools.git 第二步: 解压下载好的文... 查看详情
promethus学习系列(三十五)之报警简介
参考技术A使用普罗米修斯进行警报分为两部分。Prometheus服务器中的警报规则会向Alertmanager发送警报。然后,Alertmanager管理这些警报,包括静音,禁止,聚合以及通过电子邮件,PagerDuty和HipChat等方法发送通知。设置警报和通知的... 查看详情
从零开始学web之css3渐变,background属性
大家好,这里是「从零开始学Web系列教程」,并在下列地址同步更新......github:https://github.com/Daotin/Web微信公众号:Web前端之巅博客园:http://www.cnblogs.com/lvonve/CSDN:https://blog.csdn.net/lvonve/在这里我会从Web前端零基础开始,一步步... 查看详情
github系列之「向github提交代码」
1.SSH你拥有了一个GitHub账号之后,就可以自由的clone或者下载其他项目,也可以创建自己的项目,但是你没法提交代码。仔细想想也知道,肯定不可能随意就能提交代码的,如果随意可以提交代码,那么GitHub上的项目岂不乱了套... 查看详情
github小工具之bufferfly(代码片段)
...从文件读取--mvdups文本去重-c,--cC段探测免责声明本文档供学习,请使用者注意使用环境并遵守国家相关法律法规!由于使用不当造成的后果上传者概不负责 查看详情
github小工具之bufferfly(代码片段)
...从文件读取--mvdups文本去重-c,--cC段探测免责声明本文档供学习,请使用者注意使用环境并遵守国家相关法律法规!由于使用不当造成的后果上传者概不负责 查看详情
mysql之存储引擎大全-《从0到1-全面深刻理解mysql系列-第五篇》
个人主页:IT学习日记版权:本文由【IT学习日记】原创、在CSDN首发公众号:【IT学习日记】一个只搞干货的公众号如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)、有任何问题欢迎私信,看到会及时回复!文章大纲一、前言二:... 查看详情