前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何高效的在Github上找"轮子"

如何高效的在Github上找"轮子"

作者头像
网络安全自修室
发布2021-12-04 10:33:31
1.5K0
发布2021-12-04 10:33:31
举报
文章被收录于专栏:网络安全自修室

1

免责声明

本公众号提供的工具、教程、学习路线、精品文章均为原创或互联网收集,旨在提高网络安全技术水平为目的,只做技术研究,谨遵守国家相关法律法规,请勿用于违法用途,如果您对文章内容有疑问,可以尝试加入交流群讨论或留言私信,如有侵权请联系小编处理。

2

内容速览

你是否有如下情况:

  • 想写个项目,要站在前辈的肩膀避免重复造“轮子”,却不知道如何找“轮子”呢?
  • 找了很多,却仿佛大海捞针,没有找到自己真正想要的那个"轮子"?

如果在Github上找资源就直接在搜索框里打技术名,像下图这样

结果有14万+,你根本无从选择适合自己的

这时候你需要学习Github高级搜索语法,快速找到你想要的轮子!

基础语法

按仓库名称、说明或自述文件内容搜索

限定符

示例

in:name

jquery in:name 匹配其名称中含有 "jquery" 的仓库。

in:description

jquery in:name,description 匹配其名称或说明中含有 "jquery" 的仓库。

in:readme

jquery in:readme 匹配其自述文件中提及 "jquery" 的仓库。

repo:owner/name

repo:octocat/hello-world 匹配特定仓库名称。

按 starts 数量搜索

限定符

示例

stars:n

stars:500 匹配恰好具有 500 个星号的仓库。

stars:10..20 匹配具有 10 到 20 个星号、小于 1000 KB 的仓库。

stars:>=500 fork:true language:php 匹配具有至少 500 个星号,包括复刻 的星号(以 PHP 编写)的仓库。

按 forks 数量搜索

限定符

示例

forks:n

forks:5 匹配只有 5 个复刻的仓库。

forks:>=205 匹配具有至少 205 个复刻的仓库。

forks:<90 匹配具有少于 90 个复刻的仓库。

forks:10..20 匹配具有 10 到 20 个复刻的仓库。

其实我们再搜索的时候,可以对项目名称进行搜索匹配也可以搜索description或者readme。具体怎么做呢?

如果要搜索名字带spring boot的就输入in:name spring boot

如果我们想搜比较火热的项目,那么就可以这样就行限定: in:name spring boot stars:>3000(星星数(喜欢数)大于3k)

还可以继续加限定:in:name spring boot stars:>3000 forks:>5000,这些可以并排来使用。

搜索在readme详情里面包含spring boot并且stars数大于3000的in:readme spring boot stars:>3000

搜索描述中包含前端面试题的项目:in:description 前端面试题

还可以对语言进行限定 in:description 前端面试题 language:javascript

有些项目很久没更新过了,我们甚至可以选择最新更新时间在什么时间之后的

in:description 前端面试题 pushed:>2021-08-10

进阶语法

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

您可以使用 >>=<<= 搜索大于、大于等于、小于以及小于等于另一个值的值。

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

示例

n..*

cats stars:10..* 等同于 stars:>=10 并匹配含有 "cats" 字样、有 10 个或更多星号的仓库。

*..n

cats stars:*..10 等同于 stars:<=10 并匹配含有 "cats" 字样、有不超过 10 个星号的仓库。

查询日期

您可以通过使用 >>=<<= 和范围查询搜索早于或晚于另一个日期,或者位于日期范围内的日期。日期格式必须遵循 ISO8601 标准,即 YYYY-MM-DD(年 - 月 - 日)。

排除特定结果

您可以使用 NOT 语法排除包含特定字词的结果。NOT 运算符只能用于字符串关键词, 不适用于数字或日期。

查询

示例

NOT

hello NOT world 匹配含有 "hello" 字样但不含有 "world" 字样的仓库。

缩小搜索结果范围的另一种途径是排除特定的子集。您可以为任何搜索限定符添加 - 前缀,以排除该限定符匹配的所有结果。

查询

示例

-**QUALIFIER**

cats stars:>10 -language:javascript 匹配含有 "cats" 字样、有超过 10 个星号但并非以 JavaScript 编写的仓库。

mentions:defunkt -org:github 匹配提及 @defunkt 且不在 GitHub 组织仓库中的议题

小结

  • 详细的查询语法可以查看官网地址: https://docs.github.com/cn/github/searching-for-information-on-github/searching-for-repositories

掌握一定的Github搜索语法确实可以取得事半功倍的查询效果哦!再也不用熬夜造轮子了 !

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 网络安全自修室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 结果有14万+,你根本无从选择适合自己的
  • 基础语法
    • 按仓库名称、说明或自述文件内容搜索
    • 按 starts 数量搜索
    • 按 forks 数量搜索
    • 进阶语法
      • 查询大于或小于另一个值的值
        • 查询日期
          • 排除特定结果
          • 小结
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档