身为程序员 你真的会运用github查找吗?
前语
github
作为全球最大的开源软件项目保管渠道,我相信不少程序员都在运用。但是你真的会运用github的查找功用
吗?
我们经常会在GitHub上查找
代码、项目、用户或查找相关主题
,最简略常用的方法是在GitHub主页查找框中
直接输入相关信息进行查找
,比方我们要查找spring-boot
相关项目如下图所示:
那怎样能精准定位到我们需求找的代码、项目、用户或查找相关主题
呢?本文就详细来讲一下在GitHub上怎样精准查找的美妙技巧
。
查找语法篇
常用词含义
- watch:会继续收到该项意图动态
- fork:仿制某个仓库到自己的Github仓库中
- star:可以理解为点赞
- clone:将项目下载至本地
- follow:注重你感兴趣的作者,会收到他们的动态
查找 GitHub 时,可以构建匹配特定数字和单词的查询。
查询大于或小于另一个值的值
可以运用 >、>=、< 和 <= 查找大于、大于等于、小于以及小于等于另一个值的值。
查询 | 示例 |
---|---|
>n | spring-boot stars:>2000 匹配含有 “spring-boot” 字样、星标逾越 1000 个的仓库。 |
>=n | spring-boot topics:>=5 匹配含有 “spring-boot” 字样、有 5 个或更多主题的仓库。 |
<n | spring-boot size:<10000 匹配小于 10 KB 的文件中含有 “spring-boot” 字样的代码。 |
<=n | spring-boot stars:<=50 匹配含有 “spring-boot” 字样、星标不逾越 50 个的仓库。 |
还可以运用规划查询查找大于等于或小于等于另一个值的值。
查询 | 示例 |
---|---|
n..* | spring-boot stars:5000..* 等同于 stars:>=5000 并匹配含有 “spring-boot” 字样、有 5000 个或更多星号的仓库。 |
*..n | spring-boot stars:*..20 等同于 stars:<=20 并匹配含有 “spring-boot” 字样、有不逾越 20 个星号的仓库。 |
查询规划之间的值
可以运用规划语法 n..n 查找规划内的值,其间第一个数字 n 是最低值,而第二个是最高值。
查询 | 示例 |
---|---|
n..n | spring-boot stars:4000..5000 匹配含有 “spring-boot” 字样、有4000到5000个星号的仓库 |
查询日期
可以通过运用 >、>=、<、<= 和规划查询查找早于或晚于另一个日期,或许位于日期规划内的日期。 日期格局有必要遵照 ISO8601规范,即 YYYY-MM-DD(年-月-日)。
查询 | 示例 |
---|---|
>YYYY-MM-DD | spring-boot created:>2016-04-29 匹配含有 “spring-boot” 字样、在 2016 年 4 月 29 日之后创建的议题。 |
>=YYYY-MM-DD | spring-boot created:>=2017-04-01 匹配含有 “spring-boot” 字样、在 2017 年 4 月 1 日或之后创建的议题。 |
<YYYY-MM-DD | spring-boot pushed:<2012-07-05 匹配在 2012 年 7 月 5 日之前推送的仓库中含有 “spring-boot” 字样的代码。 |
<=YYYY-MM-DD | spring-boot created:<=2012-07-04 匹配含有 “spring-boot” 字样、在 2012 年 7 月 4 日或之前创建的议题。 |
YYYY-MM-DD..YYYY-MM-DD | spring-boot pushed:2016-04-30..2016-07-04 匹配含有 “spring-boot” 字样、在 2016 年 4 月末到 7 月之间推送的仓库 |
YYYY-MM-DD..* | spring-boot created:2012-04-30..* 匹配在 2012 年 4 月 30 日之后创建、含有 “spring-boot” 字样的议题。 |
*..YYYY-MM-DD | spring-boot created:*..2012-07-04 匹配在 2012 年 7 月 4 日之前创建、含有 “spring-boot” 字样的议题。 |
也可以在日期后添加可选的时间信息 THH:MM:SS+00:00,以便按小时、分钟和秒进行查找。 这是 T,随后是 HH:MM:SS(时-分-秒)和 UTC 偏移 (+00:00)。
查询 | 示例 |
---|---|
YYYY-MM-DDTHH:MM:SS+00:00 | spring-boot created:2017-01-01T01:00:00+07:00..2017-03-01T15:30:15+07:00 匹配在 2017 年 1 月 1 日清晨 1 点(UTC 偏移为 07:00)与 2017 年 3 月 1 日下午 3 点(UTC 偏移为 07:00)之间创建的议题。 UTC 偏移量 07:00,2017 年 3 月 1 日下午 3 点。 UTC 偏移量 07:00。 |
YYYY-MM-DDTHH:MM:SSZ | spring-boot created:2016-03-21T14:11:00Z..2016-04-07T20:45:00Z 匹配在 2016 年 3 月 21 日下午 2:11 与 2016 年 4 月 7 日晚上 8:45 之间创建的议题。 |
这儿就不演示了,跟上面是相同的,自行检验。
打扫特定效果
可以运用
NOT 语法
打扫包含特定字词的效果。NOT 运算符只能用于字符串关键词
,不适用于数字或日期
。
查询 | 示例 |
---|---|
NOT | hello NOT world 匹配含有 “hello” 字样但不含有 “world” 字样的仓库。 |
缩小查找效果规划的另一种途径是打扫特定的子集。 您可以为任何查找限定符添加
-
前缀,以打扫该限定符匹配的全部效果。
查询 | 示例 |
---|---|
-QUALIFIER | spring-boot stars:>1000 -language:kotlin 匹配含有 “spring-boot” 字样、有逾越 1000 个星号但并非以 kotlin 编写的仓库。 |
mentions:defunkt -org:github 匹配提及 @defunkt 且不在 GitHub 安排仓库中的议题 |
对带有空格的查询运用引号
假设查找含
有空格
的查询,您需求用引号将其括起来
。
- spring-boot NOT “hello world” 匹配含有 “spring-boot” 字样但不含有 “hello world” 字样的仓库。
- build label:”bug fix” 匹配具有标签 “bug fix”、含有 “build” 字样的议题。
某些非字母数字符号(例如空格)
会从引号内的代码
查找查询中删去,因而效果或许出人意料。
运用用户名的查询
假设查找查询包含
需求用户名
的限定符,例如user
、actor
或assignee
,您可以运用任何 GitHub 用户名指定特定人员,或运用@me
指定当前用户。
查询 | 示例 |
---|---|
QUALIFIER:USERNAME | author:nat 匹配 @nat 创造的提交。 |
QUALIFIER:@me | is:issue assignee:@me 匹配已分配给效果查看者的议题 |
@me 只能与限定符一起运用,而不能用作查找词,例如 @me main.workflow。
高级检索-查找仓库
按仓库称谓、说明或自述文件内容查找
通过
in
限定符,您可以将查找限制为仓库称谓
、仓库说明
、自述文件内容
或这些的恣意组合
。 假设省掉此限定符,则只查找仓库称谓和说明
。
限定符 | 示例 |
---|---|
in:name | seckill in:name 匹配仓库称谓中含有 “seckill” 的仓库。 |
in:description | seckill in:name,description 匹配仓库称谓或说明中含有 “seckill” 的仓库 |
in:readme | seckill in:readme 匹配仓库自述文件中提及 “seckill” 的仓库。 |
repo:owner/name | repo:codingXiaxw/seckill 匹配特定仓库称谓。 |
在用户或安排的仓库内查找
要在
特定用户
或安排
具有的全部仓库
中查找,您可以运用user
或org
限定符。
限定符 | 示例 |
---|---|
user:USERNAME | user:defunkt forks:>100 匹配来自 @defunkt、具有逾越 100 复刻的仓库。 |
org:ORGNAME | org:github 匹配来自 GitHub 的仓库。 |
按仓库巨细查找
size
限定符运用大于、小于和规划限定符
查找匹配特定巨细(以千字节
为单位)的仓库。
限定符 | 示例 |
---|---|
size:n | size:1000 匹配刚好为 1 MB 的仓库。 |
size:>=30000 匹配至少为 30 MB 的仓库。 | |
size:<50 匹配小于 50 KB 的仓库。 | |
size:50..120 匹配介于 50 KB 与 120 KB 之间的仓库。 |
按注重者数量查找
可以运用
followers
限定符以及大于、小于和规划限定符
,根据注重仓库
的用户数量
过滤仓
库。
限定符 | 示例 |
---|---|
followers:n | spring-boot followers:>=10000匹配有 10000 或更多注重者提及文字 “spring-boot” 的仓库。 |
spring followers:1..10 匹配具有 1 到 10 个注重者并且提及 “spring” 一词的的仓库。 |
按复刻数量查找
forks
限定符运用大于、小于和规划限定符
指定仓库应具有的复刻数量
。
限定符 | 示例 |
---|---|
forks:n | forks:5 匹配只有 5 个复刻的仓库。 |
forks:>=205 匹配具有至少 205 个复刻的仓库。 | |
forks:<90 匹配具有少于 90 个复刻的仓库。 | |
forks:10..20 匹配具有 10 到 20 个复刻的仓库。 |
按星号数量查找
可以运用大于、小于和规划限定符,根据仓库的星标数量来查找仓库。
限定符 | 示例 |
---|---|
stars:n | stars:500 匹配刚好具有 500 个星号的仓库。 |
stars:10..20 匹配具有 10 到 20 个星号、小于 1000 KB 的仓库。 | |
stars:>=500 fork:true language:php 匹配具有至少 500 个星号,包含复刻的星号(以 PHP 编写)的仓库。 |
按仓库创建或前次更新时间查找
可以根据
创建时间
或前次更新时间
过滤仓库。 关于仓库创建
,您可以运用created 限定符
;要了解仓库前次更新
的时间,您要运用pushed
限定符。 pushed 限定符将返回仓库列表,按仓库中恣意分支上最近进行的提交排序。
两者均选用日期作为参数
。 日期格局有必要遵照 ISO8601规范
,即 YYYY-MM-DD(年-月-日)
。 您也可以在日期后添加可选的时间信息 THH:MM:SS+00:00
,以便按小时
、分钟
和秒
进行查找。 这是 T,随后是 HH:MM:SS(时-分-秒)和 UTC 偏移 (+00:00)。
限定符 | 示例 |
---|---|
created:YYYY-MM-DD | webos created:<2011-01-01 匹配具有 “webos” 字样、在 2011 年之前创建的仓库。 |
pushed:YYYY-MM-DD | css pushed:>2013-02-01 匹配具有 “css” 字样、在 2013 年 1 月之后收到推送的仓库。 |
case pushed:>=2013-03-06 fork:only 匹配具有 “case” 字样、在 2013 年 3 月 6 日或之后收到推送并且作为复刻的仓库。 |
按言语查找
可以根据仓库中代码的言语查找仓库。
限定符 | 示例 |
---|---|
language:LANGUAGE | rails language:javascript 匹配具有 “rails” 字样、以 JavaScript 编写的仓库。 |
按主题查找
可以找到按特定主题分类的全部仓库。
限定符 | 示例 |
---|---|
topic:TOPIC | topic:jekyll匹配已归类为 “jekyll” 主题的仓库。 |
按主题数量查找
可以运用
topics
限定符以及大于、小于和规划限定符,根据应用于仓库的主题数量来查找仓库。
限定符 | 示例 |
---|---|
topics:n | topics:5 匹配具有五个主题的仓库。 |
topics:>3 匹配逾越三个主题的仓库。 |
按容许查找
可以根据
仓库中容许的类型
查找仓库。 您有必要运用容许关键字
,按特定容许或容许系列来过滤仓库。
限定符 | 示例 |
---|---|
license:LICENSE_KEYWORD | license:apache-2.0 匹配根据 Apache License 2.0 授权的仓库 |
按仓库可见性查找
可以根据
仓库的可见性
过滤查找。
限定符 | 示例 |
---|---|
is:public | is:public org:github 匹配 GitHub 具有的公共仓库。 |
is:internal | is:internal test 匹配您可以访问并且包含单词 “test” 的内部仓库。 |
is:private | is:private pages 匹配您可以访问并且包含单词 “pages” 的私有仓库。 |
根据仓库是否为镜像查找
可以根据
仓库是否为镜像
以及保管于其他方位保管
来查找仓库。
限定符 | 示例 |
---|---|
mirror:true | mirror:true GNOME 匹配是镜像且包含 “GNOME” 字样的仓库。 |
mirror:false | mirror:false GNOME 匹配并非镜像且包含 “GNOME” 字样的仓库。 |
根据仓库是否已存档查找
可以根据仓库
是否已存档
来查找仓库。
限定符 | 示例 |
---|---|
archived:true | archived:true GNOME 匹配已存档且包含 “GNOME” 字样的仓库。 |
archived:false | archived:false GNOME 匹配未存档且包含 “GNOME” 字样的仓库。 |
根据具有 good first issue 或 help wanted 标签的议题数量查找
可以运用限定符
help-wanted-issues:>n
和good-first-issues:>n
查找具有最少数量标签
为help-wanted
或good-first-issue
议题的仓库。
限定符 | 示例 |
---|---|
good-first-issues:>n | good-first-issues:>2 javascript 匹配具有逾越两个标签为 good-first-issue 的议题且包含 “javascript” 字样的仓库。 |
help-wanted-issues:>n | help-wanted-issues:>4 react 匹配具有逾越四个标签为 help-wanted 的议题且包含 “React” 字样的仓库。 |
高级检索-查找用户
按用户具有的仓库数量查找
可以运用 repos 限定符以及大于、小于和规划限定符根据用户具有的仓库数量过滤用户。
限定符 | 示例 |
---|---|
repos:n | repos:>9000 匹配其仓库数逾越 9,000 的用户。 |
bert repos:10..30 匹配具有 10 到 30 个仓库、其用户名或真实名字含有 “bert” 字样的用户。 |
按仓库言语查找
运用
language
限定符,您可以根据用户所具有仓库的言语查找用户。
限定符 | 示例 |
---|---|
language:LANGUAGE | location:beijing language:java 匹配刚好有一个仓库位于北京的java言语用户。 |
按方位查找
可以按其
个人资料
中指示的方位
查找用户。
限定符 | 示例 |
---|---|
location:LOCATION | location:beijing language:java 匹配刚好有一个仓库位于北京的java言语用户。 |
查找某个地区内,某种言语的大佬
location:beijing language:java
按注重者数量查找
可以运用
followers
限定符以及大于、小于和规划限定符根据用户具有的注重者数量
过滤用户。
限定符 | 示例 |
---|---|
followers:n | followers:>=1000 匹配有 1,000 个或更多注重者的用户。 |
sparkle followers:1..10 匹配具有 1 到 10 个注重者、其称谓中含有 “sparkle” 字样的用户。 |
高级检索-扩展检索
awesome加强查找
- 公式:
awesome 关键字
:awesome系列,一般用来收集学习、工具、书本类相关的项目
- 查找优异的
redis相关
的项目,包含框架
,教程
等 awesome redis
高亮闪现某行代码
- 一行:地址后边紧跟 #L10
github.com/redis/redis…
- 多行:地址后边紧跟 #Lx – #Ln
github.com/redis/redis…
项目内查找
运用英文字母 t ,敞开项目内查找
项目地址:github.com/redis/redis… 按t
这儿我再引荐一个很好用的GitHub chrome插件:
Octotree
生命不止,学习不息。
GitHub 官方文档
结束语
感谢阅览小生文章。祝我们提前富可敌国,完结财富安闲。写文不易
,一定要点赞、谈论、保藏哦
,感谢感谢感谢!!!