自打毕业之后,可以说每天打开 Github 或Email 看有没有 watch 项目的消息或者自己项目的 issue,然后在Explore 看看社区内项目的走势,紧接着开始写代码搬砖的工作,偶尔也会关注下 Github 的 Blog, 看看有没有大新闻,亦或扫一眼 Github 的 Tip,闲的蛋疼的时候也会一时兴起去搜索下有意思的项目,看到有趣的人就会去他的博客看看,晚上要睡觉之前会考虑是不是要写篇博客,然后 push上去显得自己的 Github 绿一点......久而久之,也学到了一些 Github 的使用技巧,下边毫无保留的分享给大家。

两分钟把Github项目变成前端网站

此处默认你有 Github 账号、安装了 Git 并且熟悉基本的 Git 操作,只是需要寻求部署 Github Pages 方面的知识。GitHub Pages 大家可能都知道,常用的做法,是建立一个 gh-pages 的分支,通过 Setting 里的设置的GitHub Pages 模块可以自动创建该项目的网站。

这里经常遇到的痛点是,master 遇到变更,经常需要去 sync 到 gh-pages,特别是纯 web 前端项目,这样的痛点是非常地痛。

Github官方可能嗅觉到了该痛点,出了个 master 当作网站是选项,太有用了。

下边具体来看下操作步骤:

第一步 进入 Settings 设置 Github Page 模块

 
image

第二步 选择对应分支

选择完 master branch 之后,master 自动变成了网站。master 所有的提交会自动更新到网站。

 
image

第三步 选择对应主题

 
image
 
image

第四步 等待部署成功

 
image

如上图所示,则代表部署成功!此时便可以使用 username.github.io/仓库名称 进行访问了,我在此处的访问地址是:https://bylant.github.io/DWR-Spring/

 
image

精准分享关键代码

比如你有一个文件里的某一行代码写得非常酷炫或者关键,想分享一下。可以在 URL 后面加上 #L 行号

比如,点击下面这个 URL

https://github.com/Bylant/DWR-Spring/blob/master/src/main/java/top/zhoudl/dwr/MessagePusher.java#L47

此时便会直接跳转到这行代码的位置,高亮显示

 
image

有的朋友此处可能会想,分享一行代码有什么用,我的关键代码那可是以段来论的,看不起你这一行,不急,同样有办法,我们在 URL 后边加上 L开始行号-L结束行号

如以下 URL :

https://github.com/Bylant/DWR-Spring/blob/master/src/main/java/top/zhoudl/dwr/MessagePusher.java#L47-L70
 
image

其实我们也不用去死记硬背这些东西,因为 Github 有方式帮我们自动生成这些链接

  • 分享单行代码

    直接点击代码区的行号,URL 会随之跳转,大家可以观察下图的 URL 变化

     
    image
  • 分享多行代码

    多行代码和单行代码分享的操作步骤基本一致,只不过区别在于在选择完代码块开始行之后,点击结束行的同时需要按住 Shift 键,大家观察以下动图 URL 的变化

     
    image

此时我们可以直接复制拿到的 URL 去别的地方分享了。

通过提交的 message 自动关闭 issues

比如有人提交了个issues https://github.com/AlloyTeam/AlloyTouch/issues/6
然后你去主干上改代码,改完之后提交填msg的时候,填入:

fix  https://github.com/Bylant/DWR-Spring/issues/1

这个 issues 会自动被关闭。当然不仅仅是 fix 这个关键字,下面这些关键字也可以:

  • close

  • closes

  • closed

  • fixes

  • fixed

  • resolve

  • resolves

  • resolved

gitattributes设置项目语言

 
image

如上图所示,Github 会根据相关文件代码的数量来自动识别你这个项目是 HTML项目、avascript 项目或者 Java 项目。但是这就会带来了一个问题,比如 DWR-Spring 最开始被识别成 JavaScript 项目。因为 项目刚开始可能前端代码很多。

怎么办呢?gitattributes 可以来帮助你搞定这个问题。我们在项目的根目录下添加如下 .gitattributes 文件便可

文件内容如下:

*.js linguist-language=Java

主要意思是把所有 js 文件后缀的代码识别成 Java 文件。

查看自己项目的访问数据

在自己的项目下,点击 Graphs,然后再点击 Traffic 如下所示:

 
image

更多统计留给你自己去探索哦

trending 排行榜

经常玩微博的人都知道,每天都有个热搜榜,知乎也有个知乎热榜,当然,Github 也有某类型语言的每日排行榜。比如 Java 每日排行榜:

https://github.com/trending/javascript?since=daily
 
image

Github 推荐

https://github.com/explore
 
image

快速搜索项目文件功能

有时候我们要快速检索项目中的某个文件,这个时候如果一个一个去找很浪费时间。所以 Github 也为我们提供了一个搜索技巧。

  • 打开 Github 底下任意仓库,然后打开仓库里面的代码
  • 接着在项目页面,按住键盘 T 键,会在项目名旁边出现可以可以搜索的地方
  • 输入想要查找的关键词,页面会根据输入的关键词进行快速搜索
 
image

其他搜索技巧

基本规则

默认搜索是从master分支搜索代码,搜索语句不能有特殊字符如. , : ; / \ ` ’ ” = * ! ? # $ & + ^ | ~ < > ( ) { } [ ].

指定搜索方式
 
image
Awesome + 关键字

Awesome 似乎已经成为不少 GitHub 项目喜爱的命名之一,他可以找到优秀的工具列表。比如前面提及要找到优秀的 Windows 软件,可以尝试搜索 Awesome windows,得到这样的搜索结果:

 
image

排名前列的结果出现了 Windows/Awesome 项目,这里集合了 Windows 上优质和精选的最佳应用程序及工具列表。

此处小提几点:我习惯的用法是灵活运用下面几个搜索条件:stars:language:forks:,其实就是设置项目收藏、开发语言、派生的搜索条件,比如输入 stars:>=1000 language:java,得到的结果就是收藏大于和等于 500 的 Java 项目。如下结果出来的都是 ES、SpringBoot 等经典项目

 
image

除了以上所述之外,GitHub 提供高级搜索功能访问地址如下:

https://github.com/search/advanced
 
image

具体使用方法参见 https://help.github.com/en/articles/searching-on-github 此处不再赘述了。

其他技巧

issue 中输入冒号 : 添加表情
 
image

表情对应的代码参见网站

https://www.webfx.com/tools/emoji-cheat-sheet/
 
image

可以看到我们经常用的所有表情都会在这个地方。

任意界面,shift + ?显示快捷键
 
image
issue 中选中文字,R 键快速引用

还是以上边新建的 issue 为例,我们看到选中 文档太少 四个字之后,然后按住 R 键,就会自动引用 文档太少 这四个字

 
image

最后

好了,我就会这么多,也是我经常使用的技巧。可以说 Github 的资源对于广大开发者来说真是个宝藏,很多时候我都在思考一个问题,我们每天遇到各种各样的问题,然后我们需要不断 Google、百度,达到我们解决问题的目的。但是在这个过程中,我们总是能够见到,对于同一个问题,总是有大量错误、copy 的博客、文库乃至"吊炸天"的百度知道,一次又一次减慢了我们解决问题的进度。更加糟糕的是,这种 copy 是保量不保质的,所以我们总是希望,每当我们 Google 或者百度的时候,都能够最快解决我们需要解决的问题。然而,这貌似是不切实际的,在人人都有权利发表文章的今天,要想禁止这种无意义的抄袭几乎是痴人说梦。清晰意识到这一点之后,我觉得更加有效的方式是每一个发表博客或者活跃于问答网站的人都应该把自己的博客或者解答做到精炼和准确,在某种意义上来说,这是一种义务和责任。

 
image

也欢迎补充实用的技巧~~我会持续更新上去…

和逛微博、刷朋友圈一样玩转 GitHub的更多相关文章

  1. Apple Watch版微信来了 收发微信刷朋友圈不在话下

    昨晚果粉守了一夜的Apple Watch发布会,意料中的惊喜不少,最让人兴奋的是微信成为首批支持的应用.是的,在全球拥有4.68亿月活跃用户的微信怎么可能不第一时间入驻呢?之前我们就有聊过Apple ...

  2. 苹果M1芯片各种不支持,但居然可以刷朋友圈!你会买单吗?

    上个月和大家一起分享过,最新的苹果M1芯片上支持的各种开源软件.什么?还没读过?赶紧点这里:一文解读苹果 M1 芯片电脑上的开源软件. 现在已经过去了半个月,想必有不少的同学都已经入手了最新的苹果M1 ...

  3. iOS 类似微博或朋友圈的信息流

    1.先上图:   image.png   image.png 因为做过了好几次这样的需求,所以这次想到把它拿出来,下次再需要做的时候直接拿过来改改就能用了,节约时间. 2.功能 文字收起和展开,行高自 ...

  4. 关于微信聊天与朋友圈如何快速切换 Mark

    用微信时,你是否遇到这样的情况.你正刷着朋友圈,享受着各种鸡汤,这时候,你收到一条微信,一看是女王大人,不得不回.你诚恳的回了一条,等了二十秒不见有什么回应,于是就退了出来,进入朋友圈找到那篇没看完的 ...

  5. 如何使用捷映App制作朋友圈九宫格视频图片合集

    在刷朋友圈的过程中,看到九宫格的视频图片合集,带有酷炫的音效和动效,展现效果非常好,那么我们该如何制作呢?下面我为大家介绍. 第一步,我们需要在各大应用市场搜索[捷映视频制作]App,点击[安装]. ...

  6. 社交媒体(朋友圈、微博、QQ空间)开发一网打尽,PC端移动端都有!——源码来袭!

    一.应用场景 曾几何时,社交媒体已经驻扎到了几乎每个人的生活中.看看你身边的朋友,有几个不玩朋友圈的?就算他不玩朋友圈,那也得玩微博吧.再没有底线,也得玩QQ空间. 不过,作为程序员的我们,没事还是少 ...

  7. 微信分享,使用js,分享给朋友,朋友圈,QQ微博

    <script> var imgUrl = "http://www.baidu.com/img/bdlogo.gif"; var lineLink = "ht ...

  8. ios开发-日期处理(类似朋友圈,微博等的发送时间)

    ios开发中,我们经常要处理从服务器获取的时间.类似朋友圈,微博这些应用.我们经常可以看到“刚刚”,“31分钟前发表”,“昨天5点”,之类的字样. 当时我们从服务器端获取的都是那条朋友圈信息,或者微博 ...

  9. h5怎么做分享到QQ 、朋友圈、微信 、微博等功能

    微信已经成为我们日常聊天联系基本的必备工具,所以小菜我首先介绍一下如何调用微信的分享功能.其实除了可以在微信上分享到朋友圈和发送给好友,微信的分享接口还提供了分享到QQ和分享到腾讯微博等,就是在页面的 ...

随机推荐

  1. c# Web.config中 windows连接数据库

    <add name="DataModel" connectionString="data source=iZ25i7k61adZ;initial catalog=P ...

  2. Nordic nRF51/nRF52开发流程说明

    Nordic nRF51系列包括nRF51822/nRF51422/nRF51802等芯片,nRF52系列包括nRF52832/nRF52840/nRF52810等芯片,硬件工程师可以按照如下流程去评 ...

  3. BZOJ_3307_雨天的尾巴_线段树合并+树上差分

    BZOJ_3307_雨天的尾巴_线段树合并 Description N个点,形成一个树状结构.有M次发放,每次选择两个点x,y 对于x到y的路径上(含x,y)每个点发一袋Z类型的物品.完成 所有发放后 ...

  4. Java异常简介、异常捕获还是上抛总结

    概要 本章对Java中的异常进行介绍.内容包括:1.Java异常简介2.Java异常框架 一.Java异常简介 Java异常是Java提供的一种识别及响应错误的一致性机制. Java异常机制可以使程序 ...

  5. 汽车之家汽车品牌Logo信息抓取 DotnetSpider实战[三]

    一.正题前的唠叨 第一篇实战博客,阅读量1000+,第二篇,阅读量200+,两篇文章相差近5倍,这个差异真的令我很费劲,截止今天,我一直在思考为什么会有这么大的差距,是因为干货变少了,还是什么原因,一 ...

  6. 【数学基础篇】---详解极限与微分学与Jensen 不等式

    一.前述 数学基础知识对机器学习还有深度学习的知识点理解尤为重要,本节主要讲解极限等相关知识. 二.极限 1.例子 当 x 趋于 0 的时候,sin(x) 与 tan(x) 都趋于 0. 但是哪一个趋 ...

  7. Java基础系列之你真的懂==与equals的区别吗?

    对于Java初学者而言,可能会对这两个比较方法比较模糊,有的人可能会觉得两个的方法使用起来结果是一样的等.如果你有这样的想法,我建议你来看看这边博客,让你充分了解这两个比较的异同,以及他们底层是如何比 ...

  8. jdk源码阅读笔记-LinkedHashMap

    Map是Java collection framework 中重要的组成部分,特别是HashMap是在我们在日常的开发的过程中使用的最多的一个集合.但是遗憾的是,存放在HashMap中元素都是无序的, ...

  9. Gradle入门到实战(一) — 全面了解Gradle

    声明:本文来自汪磊的博客,转载请注明出处 可关注个人公众号,那里更新更及时,阅读体验更好:  友情提示由于文章是从个人公众号拷贝过来整理的,发现图片没有正常显示,没关注公众号的同学可通过如下链接查看: ...

  10. 从壹开始微服务 [ DDD ] 之十二 ║ 核心篇【下】:事件驱动EDA 详解

    缘起 哈喽大家好,又是周二了,时间很快,我的第二个系列DDD领域驱动设计讲解已经接近尾声了,除了今天的时间驱动EDA(也有可能是两篇),然后就是下一篇的事件回溯,就剩下最后的权限验证了,然后就完结了, ...