GitHub在开发界的地位不必多说,但是当我们在GitHub上面想要找一个心仪项目Demo的时候,那么要怎么做?除了直接搜索之外,那些隐藏的检索功能又了解多少?
当我们登陆GitHub之后,一般会在这里输入自己想要找的项目名,比如redis
然后就会出现这么多包含redis的搜索结果
如果你是java程序员的话,你可能会先选择Language为Java,然后可能会在做一个排序筛选的排列。
这时候,你可能就认为这样就完了,那么这就是GitHub的所有了吗???答案当然不是!!!
GitHub作为码农集中地,怎么可能会有如此Low的检索功能,说好的高大上呢!!!
假设我们现在想找一个Jfinal架构的Demo。
1、我们可以明确仓库标题、仓库描述以及README
GitHub 提供了很强大的检索方式,可以限定只搜索仓库的标题、或者描述、README等。
以Jfinal为例,一般一个仓库的样子如下:
那么,我们在检索的时候,可以去限定仓库名称仓库描述。
in:name 关键词
这样一看结果,是不是范围就缩小了很多?
如果想查找描述的内容,可以用下面的方式:
in:descripton 关键词
不过大多数项目,都会有README文件,如果要查该文件包含特定关键词的话,可以用下面的命令
in:readme 关键词
2、明确搜索 star、fork 数量范围
一个项目 star 数的多少,一般代表该项目有受欢迎程度。因此如果能在检索之前久能筛选的话,那么会更优秀吧。
1 ) 使用语法
stars: > 数字 关键字
比如我们需要找 star 数大于 2000 的Jfinal 仓库,就可以这样.
stars:>2000 Jfinal
2 ) 如果需要找在指定数字区间的话,可以使用
stars: 100…3000关键词
fork 数同理,将上面的 stars 换成 fork,其它语法相同.
3、明确搜索仓库大小的
使用方式:
size:>=1000 关键词
这里注意下,这个数字代表K, 1000代表着1M。
3、指定仓库是否还在更新维护
使用方式:
pushed:>2019-01-03 关键字
这样我们可以检索2019-01-03号之后还在更新的指定仓库
如果想找指定时间之前或之后创建的仓库也是可以的,把 pushed 改成 created 就行。
4、指定搜索仓库的 LICENSE
使用方式:
license:apache-2.0 关键字
这样我们可以检索license是apache-2.0 的指定仓库。(其他协议的话就更换协议名就好。)
5、指定搜索仓库的语言
使用方式:
language:java 关键字
这样我们可以检索只是Java语言的,指定仓库
6、指定搜索某个人或组织的仓库
使用方式:
user:作者名
这样我们可以检索指定作者的仓库
也可以将多个命令组合使用,把 Java 项目过滤出来,多个查询之间「空格」分隔即可。
user:jfinal language:java
如果需要找某个组织的代码话,可以这样:
org:Jfinal
就可以列出具体org 的仓库。
欢迎关注本人个人公众号,交流更多技术信息