GitHub 竟然有这些骚操作,真是涨姿势

GitHub,不用过多介绍。一个面向开源及私有软件项目的托管平台,因为只支持 git 作为唯一的版本库格式进行托管,故名 GitHub。

作为「全球最大的程序员“交友”社区」,程序员的你,真的可以把它的使用发挥到极致吗?

文章收录在 GitHub JavaKeeper ,N线互联网开发必备技能兵器谱

搜索

全局搜索

傻瓜式搜索

比如我们要学习下秒杀(seckill)代码的实现,可以在整个 GitHub 站点全局搜索相关内容

但是这样的搜索范围太大,且项目质量参差不齐,所以在搜索结果页,还可以通过 Languages 选择实现语言,Sort 选择排序规则(按 Star 数量、Fork 数量、最近更新时间等)。

精准搜索(技术范)

1. in 关键词限制搜索范围

公式:搜索词 in:name(/description/readme)

搜索项目名称和自述文件中包含秒杀的仓库 seckill in:name,readme

限定符 示例
in:name jquery in:name 匹配仓库名称包含 "jquery" 的内容
in:description jquery in:name,description 匹配仓库名或描述中包含 "jquery" 的内容(组合使用)
in:readme jquery in:readme readme文件中包含"jquery"
repo:owner/name repo:octocat/hello-world 查询某人的某个项目(查octocat 的 hello-world 仓库)
2. 关键词查找

搜索语法

  • >n>=n<n<=n:查询数量范围,可以是 starts、forks、topics......
  • n..**..n:等同于 >=n<=n
  • n..m:取值范围 n 到 m
限定符 示例
stars:n stars:500 匹配 500 个 stars 的项目
stars:10..20 匹配 starts 数量 10 到 20 的项目
followers:n node followers:>=10000 匹配关注者大于等于 10000 的 node 仓库
forks:n seckill forks:5 匹配有 5 个 forks 的秒杀项目
created:YYYY-MM-DD seckill created:>2020-01-01 创建时间在 2020-01-01 之后的秒杀项目
language:LANGUAGE seckill language:java 匹配 java 语言编写的秒杀项目
user:name user:Jstarfish stars:>50 匹配 Jstarfish 用户 stars 数大于 50 的仓库
location:LOCATION location:beijing 匹配北京的朋友们
互相组合使用 seckill stars:>=500 fork:true language:java 匹配stars 数量大等于 500(包含 forks 数),且语言是 java 的秒杀项目
location:beijing language:java 北京做 Java 开发的大佬
3. awesome 加强搜索

awesome 关键字 ,awesome 系列,一般是用来收集学习,工具,书籍类相关的项目。比如我们要学习下 redis 相关的项目,包括框架、教程等,awesome redis

这几个其实也够用了,官方还给出了所有你能想得到的搜索方式:

https://help.github.com/en/github/searching-for-information-on-github/searching-on-github

项目内搜索

文件搜索

进入仓库主页面,有个 Find file,可以按文件名搜索

快捷键

  • s/ 定位到搜索框

  • g + 操作,表示跳转

    • g d 前往我的主页
    • g n 前往通知面板 About notifications
    • g c 前往代码界面 Code tab(以下均在仓库页面)
    • g i 前往问题界面 About issues
    • g w 前往 About Wike
  • t 激活文件查找,和 Find file 一样

  • w 切换分支

  • l 浏览代码时,快速跳转到指定行

官方提供:https://help.github.com/en/github/getting-started-with-github/keyboard-shortcuts

高亮显示代码

有时候我们要请教大佬,让大佬帮忙看看代码,可以使用高亮功能,在 GitHub 或 GitLab 中找到自己的代码,url 地址后加 #L 数字 表示高亮第几行,加 #L 数字 -L数字 ,表示高亮代码区间(GitLab 上不需要第二个 L)

eg:

https://github.com/Jstarfish/starfish-learning/blob/master/starfish-learn-designpattern/src/decorator/Client.java#L16-L20

查看 GitHub 热门趋势

https://github.com/trending 可以按语言,日期范围(本天、本周、本月)查看热度,有好多可供学习的热门项目。

插件

最后再推荐一个查看 GitHub 代码的浏览器插件。

octotree 用于将 Github 项目代码以树形格式展示,可以像 IDE 一样,看代码。而且在展示的列表中,我们可以下载指定的文件,而不需要下载整个项目。

Github 骚操作的更多相关文章

  1. github骚操作

    限制搜索 in关键词限制搜索范围 命令 说明 xxx in:name 项目名包含xxx的 xxx in:description 项目描述包含xxx的 xxx in:readme 项目的readme文件 ...

  2. 5分钟GET我使用Github 5 年总结的这些骚操作!

    我使用 Github 已经有 5 年多了,今天毫无保留地把自己觉得比较有用的 Gihub 小技巧送给关注 JavaGuide 的各位小伙伴. 这篇文章肝了很久,就挺用心的,大家看内容就知道了. 如果觉 ...

  3. 开源项目在闲鱼、b 站上被倒卖?这是什么骚操作?

    起因 - 又是一封邮件 2020 年 3 月 2 日,收到了一封邮件,对,这次故事的起因又是一封邮件,和上次写个bug被国家信息安全漏洞共享平台抓到了一样. 这是一条评论通知邮件,一开始我以为只是正常 ...

  4. C#中的9个“黑魔法”与“骚操作”

    C#中的9个"黑魔法"与"骚操作" 我们知道C#是非常先进的语言,因为是它很有远见的"语法糖".这些"语法糖"有时过于好 ...

  5. Git科普文,Git基本原理&各种骚操作

    Git简单介绍 Git是一个分布式版本控制软件,最初由Linus Torvalds创作,于2005年以GPL发布.最初目的是为更好地管理Linux内核开发而设计. Git工作流程以及各个区域 Work ...

  6. vue开发中的"骚操作"

    前言 在与同事协作开发的过程中,见识到了不少"骚操作".因为之前都没用过,所以我愿称之为"高级技巧"! Vue.extend 在交互过程中,有个需求就是点击图标 ...

  7. 用Markdown写Html和.md也就图一乐,真骚操作还得用来做PPT

    前言 和这篇文章一样,我就是用Markdown写的.相信各位平时也就用Markdown写写文档,做做笔记,转成XHtml.Html等,今天教大伙一招骚操作:用Markdown写PPT. 绝大多数朋友做 ...

  8. 你的哪些骚操作会导致Segmentation Fault😂

    你的哪些骚操作会导致Segmentation Fault 前言 如果你是一个写过一些C程序的同学,那么很大可能你会遇到魔幻的segmentation fault,可能一时间抓耳挠腮,本篇文章主要介绍一 ...

  9. Typescript骚操作,在TS里面直接插入HTML

    Typescript骚操作,在TS里面直接插入HTML,还有语法提示 先给大家看一个图 因为我不喜欢用很重的框架,主要是并非专业UI,但是偶尔会用到,还是觉得直接element组装受不了,想想能在ts ...

随机推荐

  1. 【spring springmvc】springmvc使用注解声明控制器与请求映射

    目录 概述 壹:注解说明 贰:实现注解声明控制器与请求映射 一:使用controller 二:配置包扫描与视图解析器 1.配置包扫描 2.配置试图解析器 三:配置部署描述符 1.读取spring-mv ...

  2. Zetatier One 基本用法

    Zetatier One 基本用法 ZeroTier One是用加密的点对点技术将处于不同物理位置的网络建立私人的局域网,即使用软件实现路由和交换机功能,而且它能使用WEB控制台管理网络,是对SDN( ...

  3. angular 项目中遇到rxjs error TS1005:';'

    因为rxjs的版本问题,只需要在package.json 中将依赖的 rxjs:'^6.00' 改为 rxjs'6.00', 然后执行 npm update 更新下rxjs的依赖版本即可解决

  4. 050.集群管理-Prometheus+Grafana监控方案

    一 Prometheus概述 1.1 Prometheus简介 Prometheus是由SoundCloud公司开发的开源监控系统,是继Kubernetes之后CNCF第2个毕业的项目,在容器和微服务 ...

  5. loadrunner-事务

    自从安装了loadrunner之后,就没怎么用过它了,项目之前也没做过性能测试,所以学习起来比较困难,而且性能测试远远不止使用工具这么简单.下面介绍一下最近学习的loadrunner添加事务. 事务是 ...

  6. 什么是DevOps ?

    DevOps字面理解 DevOps(Development和Operations组合)是一组过程.方法与系统的统称,用于促进开发(应用程序/软件工程).技术运营和质量保障(QA)部门之间的沟通.协作与 ...

  7. Building Applications with Force.com and VisualForce(六):Designing Applications for Multiple users: Accommodating Multiple Users in your App

    Dev 401-006 Designing Applications for Multiple users: Accommodating Multiple Users in your App. Cou ...

  8. Thread Future模式

    多线程不管是extends Thread 还是 implements Runnable 都是要重写run 方法来实现,这两种方式子线程都没有返回值. 如果要实现主线程对子线程的监听,让子线程有返回值, ...

  9. vscode vue 模版生成,vue 一键生成

    vscode vue 模版 继上篇文章(vue 格式化),顺便记录下 vue 模版生成.图片就不在贴了,如果有找不到 vscode 插件商店的可以访问上篇文章. 一.安装 VueHelper 在 vs ...

  10. ADB 调试

    1.adb简介 adb的全称为Android Debug Bridge,就是起到调试桥的作用.通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具.a ...