文章来源于Java面

在我看来,Github 的牛逼之处,你在狭小的空间里写的代码,全世界的码农都能看到,而且你也能跟仰慕已久的大神聊上几句,想想都感觉到很疯狂。因此,本文我将以漫画的形式来探秘 Github。

漫画:你真的懂Github吗?_Github

在这里,我先引用 Github CEO 的 Wanstrath 的一段话。

在我理想的世界里,协同工作将比独立工作简单的多。在那个世界中,软件开发会是一个充满欣喜的过程,我认为 GitHub 正在推进这一愿景的实现。

与其它版本控制服务器不同的是,Github 加入社交化、民主化的元素。因此,每个人采用派生/合并请求方式进行协同工作,并向开源项目贡献自己的代码,以时间流的形式展现自己的开发进度。还可以关注自己感兴趣的项目和大神,了解最新的开发动态,也可以进行讨论。

下图展示了两种基本的工作模式。

漫画:你真的懂Github吗?_Github_02

漫画:你真的懂Github吗?_Github_03

漫画:你真的懂Github吗?_Github_04

如果你在 Github 界面,按下 Shift+/ 的快捷键,将会出现如下图的弹出框。

漫画:你真的懂Github吗?_Github_05

1、在Github上编辑代码

如果你在Github网站上查看任意一个文件时,就会出现一个小铅笔图标,你点击它,便可以编辑该文件。等你编辑完成后,在页面上点击Propose File Change,GitHub 就会为你 fork 这个仓库,创建一个 pull request。为你省去了在本地 fork,pull,修改,push 以及创建一个 PR的流程,是不是很棒。

2、高效的分支比较

如果你想以最快的方式查看所处分支与master的差异,那么可以在 URL 中的仓库名字后面输入 //compare/branch-name。

有的读者也许想看任意两个分支之间的差异,那么可以在 URL 输入 /compare/integration-branch...my-branch。

3、链接到代码

如果你想链接到代码具体的某一行,可以试一下这个操作,点击该代码旁边的行数。

漫画:你真的懂Github吗?_Github_06

漫画:你真的懂Github吗?_Github_07

Github与谷歌一样,也有自己的搜索语法,这里为大家整理了一些常见的语法,想了解更详细的,可以去查看官方文档。

  • 按编程语言搜索, xxx language:java

  • 按文件或路径搜索,xxx in:readme

  • 按文件大小搜索,xxx size:>100

  • 按地域搜索, xxx location:chengdu

  • 按是否fork过搜索,xxx fork:true

  • 按照拥有者或者组织搜索,xxx user:yrzx404 或者 xxx  org:github

  • 按stars数量搜索,xxx stars:>1000

  • 按主题搜索,xxx topic:java

如果你记不住这些语法,Github 同样为我们提供了高级搜索功能,见下图。

漫画:你真的懂Github吗?_Github_08

最后,如果你始终找不到一个心满意足的项目,那么可以尝试着用 Awesome+关键字 进行搜索,可能会有意想不到的结果。

漫画:你真的懂Github吗?_Github_09

Octotree:能在页面左侧提供一个面板,以树状图的形式呈现你正在查看的仓库。

漫画:你真的懂Github吗?_Github_10

Git History:这是我最近发现的一款插件,他能高效查看文件历史更改记录,超炫酷。

漫画:你真的懂Github吗?_Github_11

漫画:你真的懂Github吗?_Github_12

如基于你的兴趣而推荐的一些项目。

漫画:你真的懂Github吗?_Github_13

如基于每天/周/月最流行的一些项目。

漫画:你真的懂Github吗?_Github_14

还有很多,如主题、应用、事件等等。

漫画:你真的懂Github吗?_Github_14

漫画:你真的懂Github吗?_Github_16

漫画:你真的懂Github吗?_Github_17

试那些事儿 ,作者忆蓉之心