Github精准搜索项目的技巧

学习时,经常接触到GitHub这个开源项目托管平台,因为GitHub上面的开源项目、学习资源非常多。面对这么多的仓库,如果直接输入关键词(比如Java、Python)搜索,搜索出来的结果数量都是几十万或几百万,再从这些资源中选择符合自己需要的,就得花不少时间了。

当然也可以按照stars、forks等条件选择,可搜索出来的结果好像也不太符合自己的需要。下面再介绍一些更精准的搜索技巧,减少花在寻找资料上的时间,提高学习工作效率。

符号要用英文的。如果同时使用多个搜索条件,条件之间要用空格分开。

搜索技巧的目录

一、 仓库搜索

简介:通过仓库搜索限定符来缩小搜索范围。

1.1 仓库创建或上次更新时间

根据仓库创建的时间或仓库上传更新的时间来过滤不符合条件的仓库。

这两个搜索都是用日期作为参数,日期格式必须是YYYY-MM-DD,代表年月日(遵循ISO8601标准,日期时间的表示方法)。

1.1.1 根据仓库创建时间

使用 created 限定符搜索。

限定符举例
created:YYYY-MM-DDpython created:<2020-06-08    意思:搜索2020年6月8日之前创建、具有“python”字样的仓库。
1.1.2 根据仓库上传更新时间

使用 pushed 限定符搜索。

限定符举例
pushed:YYYY-MM-DDpython pushed:>2020-06-08    意思:搜索2020年6月8日之后更新(即收到推送)、具有“python”字样的仓库。                 python pushed:>2020-06-08 fork:only  意思:搜索具有“python”字样、在2020年6月8日之后更新,并且是复制的仓库。

1.2 仓库名称或自述文件(README)

使用 in 限定符搜索。

通过in限定符,将搜索限制为根据仓库创建时间、仓库名称、仓库星标数等条件搜索(或这些条件的任意组合)。如果不用in限定符,则只是搜索仓库名称和仓库说明。

限定符举例
in:namepython in:name    意思:搜索名称中有“python”字样的仓库。
in:description  或in:aboutin:description demo   意思:搜索简介有“demo”字样的仓库。
in:name,descriptionpython in:name,description  意思:搜索名称或说明中有“python”字样的仓库。
in:readmepython in:readme    意思:搜索自述文件中提及“python”的仓库。
repo:owner/namerepo:TheAlgorithms/python   意思:搜索TheAlgorithms的python仓库(搜索特定仓库名称)。

上面以TheAlgorithms的python仓库为例,该仓库是一个81k星标的仓库。

1.3 仓库星标数量

使用 stars 限定符搜索。

根据仓库星标数量进行大于、小于或范围限定搜索。

限定符举例
stars:nstars:100   意思:搜索刚好100星标的仓库。
stars:n..mstars:10..20   意思:搜索星标数是10到20的仓库。
stars:>=n fork:true language:mstars:>=100 fork:true language:python   意思:搜索大于或等于100星标(包括分叉的星标),以python编写的仓库。

二、 主题搜索

简介:通过特定主题来搜索相关仓库。

使用 is:featuredis:curatedrepositories:n 限定符搜索。

限定符举例
is:featuredis:featured python   意思:搜索https://github.com/topics上提供,并且含有“python”字样的主题。
is:not-featuredis:not-featured python   意思:搜索https://github.com/topics上未提供,并且含有“python”字样的主题。
is:curatedis:curated python   意思:搜索精选项目中含有“python”字样的主题。
is:not-curatedis:not-curated python   意思:搜索没有额外说明且含有“python”字样的主题。
repositories:nrepositories:>100   意思:搜索超过100个仓库的主题。
created:YYYY-MM-DDpython created:>2020-06-08   意思:搜索于2020年6月8日之后创建、含有“python”字样的主题。

三、 代码搜索

简介:通过全局搜索代码,或在特定仓库内搜索代码。

3.1 根据文件内容或路径

使用 in 限定符搜索。

使用in限定符,根据文件内容、文件路径来搜索,或满足这两个条件其中之一的条件搜索。如果不使用in限定符,则只是搜索文件内容。

限定符举例
in:filedemo in:file   意思:搜索文件内容中出现“demo”的代码。
in:pathdemo in:path   意思:搜索文件路径中出现“demo”的代码。
in:file,pathdemo in:file,path  意思:搜索文件内容或文件路径中出现“demo”的代码。

3.2 根据文件位置

使用 path 限定符搜索。

使用path限定符搜索仓库中特定位置显示的代码。使用path:/限定符搜索位于仓库根目录级别的文件。可以指定目录名称或路径搜索该目录及其子目录中的文件。

限定符举例
path:/python filename:readme path:/   意思:搜索位于仓库根目录级别、含有“python”字样的readme文件。
path:DIRECTORYtest path:demo language:python   意思:搜索demo目录及其子目录中含有“test”字样的python文件。
path:PATH/TO/DIRECTORYtest path:bad/written language:python   意思:搜索bad/wirtten目录及其子目录中含有“test”字样的python文件。

3.3 根据文件名

使用 filename 限定符搜索。

使用filename限定符根据文件名搜索代码文件。

限定符举例
filename:FILENAMEfilename:demo   意思:搜索名为“demo”的文件。
filename:FORMATfilename:.txt demo   意思:搜索具有“demo”字样的.txt文件。
filename:FILENAME path:DIRECTORY language:LANGUAGEfilename:test path:demo language:python   意思:搜索demo目录中名为test的python文件。

四、 搜索开发者

简介:根据作者搜索相关项目。

使用 locationlanguagefollowersfullname 参数搜索。

条件举例
location:LOCATIONlocation:china   意思:搜索填写的地址是在china的开发者。
language:LANGUAGElanguage:python   意思:搜索开发语言为python的开发者。
followers:FOLLOWERSfollowers:>=100   意思:搜索拥有超过100关注者的开发者。
in:fullnameKobe in:fullname   意思:搜索用户实名为Kobe的开发者。

五、 GitHub的分区

5.1 GitHub Trend

这个是GitHub的趋势榜,宣传语是看看GitHub今天最激动的是什么。

在这里有多个查找项目的方式,可以选择编程语言,也可以选择月榜、周榜、日榜。还可以选择开发者,查看开发者的优质项目。

地址:https://github.com/trending

5.2 Github Topics

Github Topics展示了最新、最热门的讨论主题,宣传语是浏览GitHub上的热门话题。

在这里不仅可以看到开源项目,还可以看到一些非开发技术的讨论主题。

地址:https://github.com/topics

5.3 Github Explore

Github Explore这里是根据你平时的兴趣,推荐一些项目。

地址:https://github.com/explore

好了,以上是Github搜索项目技巧的总结,建议收藏起来,在需要找项目时,通过这些技巧去搜索。如果文章对你有帮助,请点个,留个评论,可以给个三连(点赞收藏关注 (*^_^*) )就最好啦。

    原文作者:苜苜的烂笔头
    原文地址: https://blog.csdn.net/qq_45069279/article/details/107809617
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞