在互联网上寻找某件事情需要有正确的搜索技巧,在 GitHub 也不例外,通过一些搜索的语法和策略,可以帮助更精准、快速地定位到有价值的项目和代码片段。
在使用搜索前需要了解一个存储库大概包含哪些内容,可以在存储库详情页面查看,具体可参考下图。
最直接的方式,只需在搜索框中输入关键词,如:data visualization
。
如果想要精确搜索某个短语,可以将其用引号括起来,如:"data visualization"
。
语法 | 描述 |
---|---|
xxx in:name | 匹配名称中带有 xxx 的存储库 |
xxx in:description | 匹配说明中带有 xxx 的存储库 |
xxx in:topics | 匹配标签中带有 xxx 的存储库 |
xxx in:readme | 匹配自述文件中带有 xxx 的存储库 |
hexo
的存储库hexo in:name
hexo
的存储库hexo in:topics
语法 | 描述 |
---|---|
stars:m…n | 匹配 m 到 n 个星数的存储库 |
stars:>n | 匹配大于 n 个星数的存储库>为判断,还可替换为>=、<、<= |
forks:m…n | 匹配 m 到 n 个分支数的存储库 |
forks:<=n | 匹配小于等于 n 个分支数的存储库<=为判断,还可替换为>、>=、< |
hexo stars:<=656
hexo forks:>3000
语法 | 描述 |
---|---|
language:LANGUAGE | 匹配编程语言为 LANGUAGE 的存储库 |
TypeScript
的存储库(以 hexo 为例)hexo language:TypeScript
语法 | 描述 |
---|---|
created:<YYYY-MM-DD | 匹配 YYYY 年 MM 月 DD 日之前创建的存储库 |
pushed:>YYYY-MM-DD | 匹配 YYYY 年 MM 月 DD 日之后更新的存储库 |
hexo pushed:>=2024-03-01
语法 | 描述 |
---|---|
user:USERNAME | 匹配用户为 USERNAME 的存储库 |
org:ORGNAME | 匹配组织为 ORGNAME 的存储库 |
hexo user:hexojs
语法 | 描述 |
---|---|
license:LICENSE | 匹配许可证为 LICENSE 的存储库常用许可关键词有:MIT、Apache-2.0、GPL等 |
hexo license:Apache-2.0
结合前面的基础、高级搜索语法,可以实现更复杂、更精确的搜索。
hexo pushed:>=2024-01-01 stars:>1000
license:MIT org:github language:JavaScript
GitHub 提供了一个高级搜索界面,通过它可以更直观地设置各种搜索条件,包括高级选项、存储库选项、代码选项、问题选项、用户选项等。
熟练掌握 GitHub 的搜索语法和技巧,能够大大提高在开源世界中的探索效率,更快地找到所需的代码资源,加速开发进程。在 GitHub 中诸如此类的效率方法还有很多,如果感兴趣可以查阅官方文档学习。