GitHub有高级搜索功能,search/advanced可以输入关键字、代码库大小、包含作者、代码语、代码包含后缀文件名等。
GitHub 搜索技巧—找开发者
搜索条件 备注
location: location:china,匹配用户填写的地址在china
language: language:javascript,匹配开发语言为javascript的开发者
followers: followers:>=1000,匹配拥有超过1000名关注者的开友省
in:fullname jack in:fullname,匹配用户实名为jack的开发者
GitHub搜索技巧—找项目
搜索条件 备注
Awesome+关键字 神奇的关键字Awesome,帮助找到优秀的工具列表
stars: stars:>=500,匹配收藏数量超过500的项目
language: language:javascript,匹配以javascript 作为开发语言的项目
forks: forks:>=500,匹配分支数量超过500的项目
这里假设正要学习 Spring Boot,要找一个 Spring Boot的 Demo 来进行参考学习。

精准搜索仓库标题、仓库描述、README

in关键词限制搜索范围

按照项目名/仓库名搜索(大小写不敏感)

(1)公式

  • in:name xxx 项目名包含xxx
  • in:description xxx 项目描述包含xxx
  • in:readme xxx 项目介绍文档里含有xxx
比如搜索项目名里含有 Spring Boot 的 in:name Spring Boot 会发现项目数量由17W变成了11W 搜索项目描述里含有 Spring Boot 的 in:description Spring Boot

stars或fork数量去查找

一个项目 star 数的多少,一般代表该项目的受欢迎程度 越受欢迎的项目,star数和fork数一定也不会少

(1)公式

  • stars:>xxx stars数大于xxx
  • stars:xx..xx stars数在xx…xx之间
  • forks:>xxx forks数大于xxx
  • forks:xx..xx forks数在xx…xx之间
  1. 查找star数大于等于5000springboot项目
  2. spring boot stars:>=5000
  3. 查找fork数大于500springcloud项目
  4. spring cloud forks:>500
  5. 查找fork100200之间并且stars数在80100之间的springboot项目
  6. spring boot forks:100..200 stars:80..100
进一步缩小范围,Star数量过滤,要求Star数量大于3000
  1. in:name spring boot starts :> 3000

按照地区和语言进行搜索

(1)公式

  • location:地区
  • language:语言
  1. 语言为javaScript
  2. language:javaScript
  3. 地区为china
  4. location: China
如果要寻找使用 javascript 语言的国产项目,整个搜索条件就是:<font style="color:rgb(30, 107, 184);">language:javascript location:china</font>

根据仓库大小搜索

如果只是想找一些小型的项目进行个人学习和开发,不想找特别复杂的,那么使用size关键字查找简单的 Demo,就成了首选

(1)公式

  1. size:>= 数字
注意:100代表100Kb 单位为Kb

根据仓库是否在更新的搜索

寻找项目当然是想要找到最新的项目,而不是好久都没有更新的老项目了,

(1)公式

  • pushed:> YYYY-MM-DD 最后上传日期大于YYYY-MM-DD
  • created:> YYYY-MM-DD 创建日期大于YYYY-MM-DD
比如要寻找2020年最新更新的项目,可以用 pushed:>2020-01-03 Spring Boot,这样子就可以找到今年一月份之后更新的最新项目

根据某个人或组织进行搜索

如果想在GitHub 上找一下某个大神是不是提交了新的项目,可以对他们进行精准搜索

(1)公式

  • user: name 查找某个用户
  • org: name 查找某个组织
  • followers:>=xxx 查找关注者数量超过xxx的开发者
比方要找一下廖雪峰老师的python开源项目
  1. user:MichaelLiao language:python

根据仓库的LICENSE搜索

License是很多人容易忽略的一个问题 开源项目的License(项目授权协议) 有的开源项目作者明确禁止商用了,但是不知情下载了,并且使用了,这就会很麻烦,“非常友好”的协议,比较出名的有这几种:BSD、MPL(Mozilla)、Apache、MIT。这些协议不但允许项目的使用者使用开源库,有些还允许对开源库进行修改并重新分发。因此用起来特别爽。上述这几个协议在细节上有些小差异,大伙儿可以去它们官网瞧一下。 以下这个网站,详细介绍了各个License的区别。

(1)公式

-license:对应协议 例如要找协议是最为宽松的 Apache License 2 的代码,
  1. license:apache-2.0 Spring Boot

awesome加强搜索

Awesome 似乎已经成为不少 GitHub 项目喜爱的命名之一,Awesome 往往整合了大量的同一领域的资料,让大家可以更好的学习。

(1)公式

awesome 关键字 awesome 系列一般是用来收集学习、工具、书籍类相关的项目
  • 比如搜索优秀的python相关的项目,包括框架、教程等
awesome-python,这个库提供了各个领域常见的python库支持。整体看下来,几乎涵盖了所有的常见的计算机领域,

热门搜索(GitHub Trend 和 GitHub Topic)

GitHub Trend 页面总结了每天/每周/每月周期的热门 Repositories 和 Developers,可以看到在某个周期处于热门状态的开发项目和开发者 GitHub Topic 展示了最新和最流行的讨论主题,在这里不仅能够看到开发项目,还能看到更多非开发技术的讨论主题,