前言:一般在GitHub上搜索项目的时候我们可能会直接会用关键字搜索,但是返回的结果有很多,不利于我们找到关键项目。因此我们需要了解以下GutHub上面的搜索语法。
搜索仓库
比如我们要找项目为springcloud且关注大于5000的项目
语法如下:
in:name springcloud stars:>5000
搜索语法
Query | Example |
n..* | cats stars:10..* 匹配关键字"cats"且star⼤于等于 10的仓库 |
*..n | cats stars:*..10 匹配关键字"cats"且star⼩于等于 10的仓库 |
n..n | cats stars:10..50 匹配关键字"cats"且star⼤于10 且⼩于50的仓库 |
搜索例子
in:name | in:name springcloud stars:>5000 匹配名字为springcloud且stars大于5000 |
in:description | in:description springcloud stars:>5000 0 匹配描述包括springcloud且stars大于5000 |
in:readme | in:readme springcloud stars:>5000 匹配redme中包含springcloud且stars大于5000 |
搜索代码
注意事项
- 只能搜索⼩于384 KB的⽂件。
- 只能搜索少于500,000个⽂件的存储库。
- 登录的⽤户可以搜索所有公共存储库。
- 除filename搜索外,搜索源代码时必须⾄少包含⼀个搜索词。例如,搜索language:javascript⽆效,⽽是这样:amazing language:javascript。
- 搜索结果最多可以显示来⾃同⼀⽂件的两个⽚段,但⽂件中可能会有更多结果。
- 您不能将以下通配符⽤作搜索查询的⼀部分:. , : ; / \ ` ' " = * ! ? # $ & + ^ | ~ <> ( ) { } [ ]。搜索将忽略这些符号。
⽇期条件
- cats pushed:<2016-07-05 搜索在2016年07⽉05⽇前push代码,且cats作为关键字
- cats pushed:2018-02-23..2019-09-04
- cats created:>=2021-05-01
排除运算
- cats pushed:<2016-07-05 -language:java 搜索在2016年07⽉05⽇前push代码,且cats作为关键字,排除java语⾔仓库
包含搜索
- cats in:file 搜索⽂件中包含cat s的代码
- cats in:path 搜索路径中包含cat s的代码
- cats in:path,file 搜索路径、⽂件中包含cat s的代码
- console path:app/public language:javascript 搜索关键字console,且语⾔为 javascript,在app /public下的代码
主体搜索
- user:USERNAME ⽤户名搜索
- org: ORGNAME 组织搜索
- repo:USERNAME/REPOSITORY 指定仓库搜索
⽂件名称
- filename:config.php language:php 搜索⽂件名为config .php,且语⾔为php的代码
例如搜索J ava项⽬配置⽂件:mail filename:.properties
参考资料