GitHub小技巧, 让你嗖嗖找到想要的

Posted 琦彦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GitHub小技巧, 让你嗖嗖找到想要的相关的知识,希望对你有一定的参考价值。

搜索 GitHub 时,你可以构建匹配特定数字和单词的查询。

搜: 仓库基本信息

in: 限定搜索的范围

关键字 in 是用来限定搜索的范围,可以指定是在名称、描述、readme文档中搜索关键字

  • in:name:指定搜索范围是仓库名称
  • in:description:指定搜索范围是摘要中
  • in:readme:指定搜索范围是readme文档中
  • location:china, 匹配用户填写的地址在中国
  • language:java 匹配开发语言是java的开发者
  • topic: XXX 匹配特定主题分类的所有仓库

比如,指定项目仓库名称springboot、mybatis、demo三个关键字,那么搜索如下:

in:name springboot mybatis demo
in:description 单点登录 language:java

带有用户名的查询

如果你的搜索查询包含需要用户名的限定符,例如user, actor, or assignee,你可以使用任何 GitHub 用户名来指定特定人员,或@me, 来指定当前用户。

格式例子
QUALIFIER:USERNAMEauthor:nat 匹配由@nat 创作的提交
QUALIFIER:@meis:issue assignee:@me 匹配分配给查看结果的人的issues

你只能@me与限定符一起使用,而不能用作搜索词,例如@me main.workflow.

搜: 仓库的stars, fork, push等

查询大于或小于另一个值的值

你可以使用>>=<<=来搜索大于、大于或等于、小于和小于或等于另一个值的值。

方式如下:

  • stars:> :筛选stars数量大于某个值的仓库
  • stars:start…end :筛选stars数量在start和end区间的仓库
  • fork:>
  • fork:start…end
  • followers:>1000 , 匹配拥有超过1000名关注者的开发者
格式例子
>ncats stars:>1000 匹配具有超过 1000 星的单词“cats”的存储库。
>=n**cats topics:>=5**匹配具有 5 个或更多主题的带有单词“cats”的存储库。
<ncat size:<10000匹配小于 10 KB 的文件中带有单词“cats”的代码。
<=n**cats stars:<=50**匹配具有 50 个或更少星的单词“cats”的存储库。

你还可以使用范围查询来搜索大于或等于或小于或等于另一个值的值。

格式例子
n…***cats stars:10…* **等效于stars:>=10并匹配具有 10 个或更多星的带有单词“cats”的存储库。
**…*n**cats stars:*…10 **效于stars:<=10并匹配带有单词“cats”且星数不超过 10 的存储库。

查询范围之间的值

你可以使用范围语法来搜索范围内的值,其中第一个数字n是最小值,第二个数字是最大值。n..n

格式例子
n..n**cats stars:10…50**匹配具有 10 到 50 星之间的单词“cats”的存储库。

查询日期

你可以搜索日期,通过使用>>=<<=,和范围查询

日期格式必须遵循ISO8601标准,即YYYY-MM-DD(年-月-日)。

格式例子
>YYYY-MM-DDcat created:>2016-04-29匹配在 2016 年 4 月 29 日之后创建的带有“cats”一词的issues 。
>=YYYY-MM-DDcat created:>=2017-04-01匹配在 2017 年 4 月 1 日或之后创建的带有“cats”一词的issues 。
<YYYY-MM-DDcat push:<2012-07-05匹配 2012 年 7 月 5 日之前推送到的存储库中带有单词“cats”的代码。
<=YYYY-MM-DDcat created:<=2012-07-04匹配在 2012 年 7 月 4 日或之前创建的带有“cats”一词的issues 。
YYYY-MM-DD..YYYY-MM-DDcat push:2016-04-30…2016-07-04匹配在 2016 年 4 月底和 7 月之间推送到的带有“cats”一词的存储库。
YYYY-MM-DD..*cats created:2012-04-30…* 匹配 2012 年 4 月 30 日之后创建的包含单词“cats”的issues 。
*..YYYY-MM-DD**cats created:*…2012-07-04**匹配在 2012 年 7 月 4 日之前创建的包含单词“cats”的issues 。

你还可以THH:MM:SS+00:00在日期后添加可选的时间信息,以按小时、分钟和秒进行搜索。即T,后跟HH:MM:SS(小时-分钟-秒) 和 UTC 偏移量 ( +00:00)。

格式例子
YYYY-MM-DDTHH:MM:SS+00:00cat created:2017-01-01T01:00:00+07:00…2017-03-01T15:30:15+07:00匹配 2017 年 1 月 1 日凌晨 1 点之间创建的issues ,UTC 偏移量为07:00; 2017 年3 月 1 日下午 3 点,UTC 偏移量为07:00.
YYYY-MM-DDTHH:MM:SSZcat created:2016-03-21T14:11:00Z…2016-04-07T20:45:00Z匹配在 2016 年 3 月 21 日下午 2:11 和 2106 年 4 月 7 日晚上 8:45 之间创建的issues 。
# 例如: 
in:description 单点登录 language:java pushed:>2019-12-01

搜: 过滤一些信息

排除某些结果

你可以使用NOT语法排除包含某个单词的结果。该NOT运算符只能用于字符串关键字。它不适用于数字或日期。

格式例子
NOThello NOT world匹配包含单词“hello”但不包含单词“world”的存储库。

缩小搜索结果的另一种方法是排除某些子集。你可以在任何搜索限定符前加上 a-以排除与该限定符匹配的所有结果。

格式例子
-QUALIFIER**mentions:defunkt -org:github**匹配提及@defunkt 且不在 GitHub 组织中的存储库中的issues 。

搜: 匹配词语的完整搜索

对带有空格的查询使用引号

如果你的搜索查询包含空格,则需要用引号将其括起来。例如:

某些非字母数字符号(例如空格)从引号内的代码搜索查询中删除,因此结果可能出乎意料。

搜: 受喜爱的项目

Awesome + 关键字

Awesome 似乎已经成为不少 GitHub 项目喜爱的命名之一

公式:awesome关键字:awesome系列,一般用来收集学习、工具、书籍类相关的项目

搜索优秀的redis相关的项目,包括框架,教程等 awesome redis

搜: 项目内

项目内搜索

使用英文字母 t ,开启项目内搜索

高亮显示某行代码

一行:地址后面紧跟 #L12

例如: https://github.com/redis/redis/blob/unstable/redis.conf#L12

多行:地址后面紧跟 #Lx - #Ln

例如: https://github.com/redis/redis/blob/unstable/redis.conf#L12-L45

界面: 高级搜索

除了使用这种特定的限定词来筛选之外,其实github还给我们提供了一种筛选的搜索链接。

https://github.com/search/advanced

其实就是界面化的搜索条件筛选框,想不起搜索关键词或者单词的时候可以收藏这个高级搜索界面哈。

GitHub 隐藏功能

https://github.com/FLY-Open-DevOps/github-cheat-sheet

http://git.io/sheet

参考链接:

https://docs.github.com/en/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax

https://docs.github.com/en/search-github/getting-started-with-searching-on-github/sorting-search-results

https://github.com/search/advanced

以上是关于GitHub小技巧, 让你嗖嗖找到想要的的主要内容,如果未能解决你的问题,请参考以下文章

Goland嗖嗖的: 快捷键,自动生成代码等效率小技巧

Goland嗖嗖的: 快捷键,自动生成代码等效率小技巧

Android课程---Android Studio使用小技巧:提取方法代码片段

CSS 黑魔法小技巧,让你少写不必要的JS,代码更优雅

☆ 10个小技巧,让你的 Python 代码更加优雅~ ☆

开发效率嗖嗖提升的 20 余个 console 方法