共计 6215 个字符,预计需要花费 16 分钟才能阅读完成。
大家好,我是你们的 前端章鱼猫,一个不喜爱喵、又不喜爱吃鱼的超级猫 ~
明天给大家带来的是 在 GitHub 上如何精准搜寻的神仙技巧 。
【前端 GitHub】,专一于开掘 GitHub 上优良的前端开源我的项目,抹平你的前端信息不对称,涵盖 JavaScript、Vue、React、Node、小程序、Flutter、Deno、HTML、CSS、数据结构与算法 等等。
[前端 GitHub] 地址:https://github.com/biaochenxu…
以下为【前端 GitHub】的第 4 期内容。
一般的搜寻
置信个别人搜寻我的项目时,都是间接搜寻技术栈相干的我的项目。
高级一点的搜寻,会依据 最匹配、最多 Star 来进行排序、抉择相应的语言、抉择仓库或者代码来进行筛选。
然而 GitHub 的搜寻性能只反对以上这些而已吗?
No!
如果你只会用以上的性能,那你晓得的仅仅是 GitHub 搜寻的冰山一角!
GitHub 的搜寻是十分弱小的!上面介绍更高级的搜寻技巧。
搜寻语法
搜寻 GitHub 时,你能够构建匹配特定数字和单词的查问。
查问大于或小于另一个值的值
您能够应用 >
、>=
、<
和 <=
搜寻大于、大于等于、小于以及小于等于另一个值的值。
查问 | 示例 |
---|---|
>*n* | cats vue:>1000 匹配含有 “vue” 字样、星标超过 1000 个的仓库。 |
>=*n* | vue topics:>=5 匹配含有 “vue” 字样、有 5 个或更多主题的仓库。 |
<*n* | vue size:<10000 匹配小于 10 KB 的文件中含有 “vue” 字样的代码。 |
<=*n* | vue stars:<=50 匹配含有 “vue” 字样、星标不超过 50 个的仓库。 |
您还能够应用 范畴查问 搜寻大于等于或小于等于另一个值的值。
查问 | 示例 |
---|---|
*n*..* | vue stars:10..* 等同于 stars:>=10 并匹配含有 “vue” 字样、有 10 个或更多星号的仓库。 |
*..*n* | vue stars:*..10 等同于 stars:<=10 并匹配含有 “vue” 字样、有不超过 10 个星号的仓库。 |
查问范畴之间的值
您能够应用范畴语法 *n*..*n*
搜寻范畴内的值,其中第一个数字 n 是最低值,而第二个是最高值。
查问 | 示例 |
---|---|
*n*..*n* | vue stars:10..50 匹配含有 “vue” 字样、有 10 到 50 个星号的仓库。 |
查问日期
您能够通过应用 >
、>=
、<
、<=
和 范畴查问 搜寻早于或晚于另一个日期,或者位于日期范畴内的日期。
日期格局必须遵循 ISO8601 规范,即 YYYY-MM-DD
(年 - 月 - 日)。
查问 | 示例 |
---|---|
>*YYYY*-*MM*-*DD* | vue created:>2016-04-29 匹配含有 “vue” 字样、在 2016 年 4 月 29 日之后创立的议题。 |
>=*YYYY*-*MM*-*DD* | vue created:>=2017-04-01 匹配含有 “vue” 字样、在 2017 年 4 月 1 日或之后创立的议题。 |
<*YYYY*-*MM*-*DD* | vue pushed:<2012-07-05 匹配在 2012 年 7 月 5 日之前推送的仓库中含有 “vue” 字样的代码。 |
<=*YYYY*-*MM*-*DD* | vue created:<=2012-07-04 匹配含有 “vue” 字样、在 2012 年 7 月 4 日或之前创立的议题。 |
*YYYY*-*MM*-*DD*..*YYYY*-*MM*-*DD* | vue pushed:2016-04-30..2016-07-04 匹配含有 “vue” 字样、在 2016 年 4 月末到 7 月之间推送的仓库。 |
*YYYY*-*MM*-*DD*..* | vue created:2012-04-30..* 匹配在 2012 年 4 月 30 日之后创立、含有 “vue” 字样的议题。 |
*..*YYYY*-*MM*-*DD* | vue created:*..2012-04-30 匹配在 2012 年 7 月 4 日之前创立、含有 “vue” 字样的议题。 |
您也能够在日期后增加可选的工夫信息 THH:MM:SS+00:00
,以便按小时、分钟和秒进行搜寻。这是 T
,随后是 HH:MM:SS
(时 - 分 - 秒)和 UTC 偏移 (+00:00
)。
查问 | 示例 |
---|---|
*YYYY*-*MM*-*DD*T*HH*:*MM*:*SS*+*00*:*00* | vue 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*-*DD*T*HH*:*MM*:*SS*Z | vue 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* | vue stars:>10 -language:javascript 匹配含有 “vue” 字样、有超过 10 个星号但并非以 JavaScript 编写的仓库。 |
mentions:biaochenxuying -org:github 匹配提及 @biaochenxuying 且不在 GitHub 组织仓库中的议题 |
对带有空格的查问应用引号
如果搜寻含有空格的查问,您须要用引号将其括起来。例如:
- cats NOT “hello world” 匹配含有 “vue” 字样但不含有 “hello world” 字样的仓库。
- build label:”bug fix” 匹配具备标签 “bug fix”、含有 “build” 字样的议题。
某些非字母数字符号(例如空格)会从引号内的代码搜寻查问中删除,因而后果可能出其不意。
应用用户名的查问
如果搜寻查问蕴含须要用户名的限定符,例如 user
、actor
或 assignee
,您能够应用任何 GitHub 用户名指定特定人员,或应用 @me
指定以后用户。
查问 | 示例 |
---|---|
QUALIFIER:USERNAME | author:biaochenxuying 匹配 @biaochenxuying 创作的提交。 |
QUALIFIER:@me | is:issue assignee:@me 匹配已调配给后果查看者的议题 |
@me
只能与限定符一起应用,而不能用作搜索词,例如 @me main.workflow
。
高级的搜寻
按仓库名称、阐明或自述文件内容搜寻
通过 in
限定符,您能够将搜寻限度为仓库名称、仓库阐明、自述文件内容或这些的任意组合。
如果省略此限定符,则只搜寻仓库名称和阐明。
限定符 | 示例 |
---|---|
in:name | vue in:name 匹配其名称中含有 “jquery” 的仓库。 |
in:description | vue in:name,description 匹配其名称或阐明中含有 “vue” 的仓库。 |
in:readme | vue in:readme 匹配其自述文件中提及 “vue” 的仓库。 |
repo:owner/name | repo:biaochenxuying/blog 匹配特定仓库名称,比方:用户为 biaochenxuying 的 blog 我的项目。 |
在用户或组织的仓库内搜寻
要在 特定用户或组织
领有的所有仓库中搜寻,您能够应用 user
或 org
限定符。
限定符 | 示例 |
---|---|
user:*USERNAME* | user:biaochenxuying forks:>=100 匹配来自 @biaochenxuying、领有超过 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* | node followers:>=10000 匹配有 10,000 或更多关注者提及文字 “node” 的仓库。 |
styleguide linter followers:1..10 匹配领有 1 到 10 个关注者并且提及 “styleguide linter” 一词的的仓库。 |
按复刻数量搜寻
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:vue 匹配具备至多 500 个星号,包含复刻的星号(以 vue 编写)的仓库。 |
按仓库创立或上次更新工夫搜寻
你能够基于创立工夫或上次更新工夫过滤仓库。
- 对于仓库创立,您能够应用
created
限定符; - 要理解仓库上次更新的工夫,您要应用
pushed
限定符。pushed
限定符将返回仓库列表,按仓库中任意分支上最近进行的提交排序。
两者均采纳日期作为参数。日期格局必须遵循 ISO8601 规范,即 YYYY-MM-DD
(年 - 月 - 日)。
也能够在日期后增加可选的工夫信息 THH:MM:SS+00:00
,以便按小时、分钟和秒进行搜寻。这是 T
,随后是 HH:MM:SS
(时 - 分 - 秒)和 UTC 偏移 (+00:00
)。
日期反对 大于、小于和范畴限定符
。
限定符 | 示例 |
---|---|
created:*YYYY-MM-DD* | vue created:<2020-01-01 匹配具备 “vue” 字样、在 2020 年之前创立的仓库。 |
pushed:*YYYY-MM-DD* | css pushed:>2020-02-01 匹配具备 “css” 字样、在 2020 年 1 月之后收到推送的仓库。 |
vue pushed:>=2020-03-06 fork:only 匹配具备 “vue” 字样、在 2020 年 3 月 6 日或之后收到推送并且作为复刻的仓库。 |
按语言搜寻
您能够基于其编写采纳的次要语言搜寻仓库。
限定符 | 示例 |
---|---|
language:*LANGUAGE* | vue language:javascript 匹配具备 “vue” 字样、以 JavaScript 编写的仓库。 |
按主题搜寻
您能够查找归类为特定 主题 的所有仓库。
限定符 | 示例 |
---|---|
topic:*TOPIC* | topic:algorithm 匹配已归类为 “algorithm” 主题的仓库。 |
预计又有很多人不晓得 GitHub 上有话题一说的吧。
按主题数量搜寻
您能够应用 topics
限定符以及 大于、小于和范畴限定符 按利用于仓库的 主题 数量搜寻仓库。
限定符 | 示例 |
---|---|
topics:*n* | topics:5 匹配具备五个主题的仓库。 |
topics:>3 匹配超过三个主题的仓库。 |
应用可视界面搜寻
还能够应用 search page 或 advanced search page 搜寻 GitHub 哦。
这种搜寻形式,预计就更少人晓得了吧。
advanced search page 提供用于构建搜寻查问的可视界面。
您能够按各种因素过滤搜寻,例如仓库具备的星标数或复刻数。在填写高级搜寻字段时,您的查问将在顶部搜寻栏中主动构建。
按许可搜寻
您能够按其许可搜寻仓库。您必须应用许可关键词按特定许可或者可系列过滤仓库。
限定符 | 示例 |
---|---|
license:*LICENSE_KEYWORD* | license:apache-2.0 匹配依据 Apache License 2.0 受权的仓库。 |
按公共或公有仓库搜寻
您能够基于仓库是公共还是公有来过滤搜寻。
限定符 | 示例 |
---|---|
is:public | is:public org:github 匹配 GitHub 领有的公共仓库。 |
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” 字样的仓库。 |
基于具备标签的议题数量搜寻
您能够应用限定符 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” 字样的仓库。 |
学习
其实,以上很多内容的都是来自于 GitHub 的官网文档,如果你还想学习更多技巧,请看
GitHub 官网文档 : https://docs.github.com/cn
如果你还不理解或者不会应用 GitHub,能够看看这一章节:
Git 和 GitHub 学习资源:https://docs.github.com/cn/fr…
最初
[前端 GitHub] 地址:https://github.com/biaochenxu…
平时如何发现好的开源我的项目,能够看看这篇文章:GitHub 上能挖矿的神仙技巧 – 如何发现优良开源我的项目。
感觉有用?喜爱就珍藏,顺便点个赞吧,你的反对是我最大的激励!
在公众号后盾回复: 电子书 ,能够取得 160 本前端精髓书籍哦。
往期精文
- GitHub 上最火的、最值得前端学习的数据结构与算法我的项目!没有之一
- 寰球最火的 WEB 开发学习路线!没有之一!3 天就在 GitHub 播种了靠近 1w 点赞
- Github 标星 1.6W+,程序员不得不知的“潜规则”又火了,早晓得就不会秃头了