自打毕业之后,可以说每天打开 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. Android 不规则封闭区域填充 手指秒变油漆桶

    转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/45954255: 本文出自:[张鸿洋的博客] 一.概述 在上一篇的叙述中,我们通 ...

  2. MySQL 8 新特性之降序索引

    MySQL 8.0终于支持降序索引了.其实,从语法上,MySQL 4就支持了,但正如官方文档所言,"they are parsed but ignored",实际创建的还是升序索引 ...

  3. 集合-Table

    当我们需要多个索引的数据结构的时候,通常情况下,我们只能用这种丑陋的Map<FirstName, Map<LastName, Person>>来实现.为此Guava提供了一个新 ...

  4. asp.net core session丢失问题排查

    最近公司采用asp.net core的站点在外测环境中,总是发现存在session丢失的情况.排查了好久,客户端.AspNetCore.Session的cookie未丢失,session的分布式缓存采 ...

  5. 【源码解析】Sharding-Jdbc的执行过程(一)

    一.ShardingContext 在Sharding-Jdbc中,我们其实需要抓住一个核心类,也就是ShardingContext,分片上下文,里面定义了下面几个内容: @RequiredArgsC ...

  6. 解决非root用户使用docker的办法

    通常我们使用Docker的时候都是使用的root,官方说法如下 The docker daemon binds to a Unix socket instead of a TCP port. By d ...

  7. Postman----支持markdown可自动生成接口文档

    1.postman支持markdown作为集合中的请求,对集合和文件夹进行文字描述的方式,您可以嵌入屏幕截图和其他图像已获得更多描述性的介绍. 2.已markdown语法为准,填写自己想要展示的内容 ...

  8. 我是庖丁,<肢解IOT平台>之物模型

    前言 物模型是对设备在云端的功能描述,包括设备的属性,数据,服务和事件. 物联网平台通过定义一种物的描述语言来描述物模型,称之为 TSL(即 Thing Specification Language) ...

  9. ie兼容问题记录

    工作中遇到的ie网站兼容性问题  头疼.......... 以下为从网上搜索学习的整理兼容性方法 用于自己记录 #兼容问题 ##css hack: https://blog.csdn.net/fres ...

  10. C# Memory Cache 踩坑记录

    背景 前些天公司服务器数据库访问量偏高,运维人员收到告警推送,安排我团队小伙伴排查原因. 我们发现原来系统定期会跑一个回归测试,该测运行的任务较多,每处理一条任务都会到数据库中取相关数据,高速地回归测 ...