Github查找项目的方法

 

我们会经常接触到GitHub这个开源项目托管平台,因为GitHub上面的开源项目、学习资源非常多。为了提高效率、更快地找到自己需要的资料,在这里说一些精准搜索的技巧。

 

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

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

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

 

一、 仓库搜索

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

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

1.1.1 根据仓库创建时间

使用 created 限定符搜索。

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

使用 pushed 限定符搜索。

限定符举例
pushed:YYYY-MM-DD python 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:name python in:name    意思:搜索名称中有“python”字样的仓库。
in:description  或in:about in:description demo   意思:搜索简介有“demo”字样的仓库。
in:name,description python in:name,description  意思:搜索名称或说明中有“python”字样的仓库。
in:readme python in:readme    意思:搜索自述文件中提及“python”的仓库。
repo:owner/name repo:TheAlgorithms/python   意思:搜索TheAlgorithms的python仓库(搜索特定仓库名称)。

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

1.3 仓库星标数量

使用 stars 限定符搜索。

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

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

二、 主题搜索

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

使用 is:featured 、is:curated 、 repositories:n 限定符搜索。

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

三、 代码搜索

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

3.1 根据文件内容或路径

使用 in 限定符搜索。

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

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

3.2 根据文件位置

使用 path 限定符搜索。

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

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

3.3 根据文件名

使用 filename 限定符搜索。

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

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

四、 搜索开发者

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

使用 location 、 language 、 followers 、 fullname 参数搜索。

条件举例
location:LOCATION location:china   意思:搜索填写的地址是在china的开发者。
language:LANGUAGE language:python   意思:搜索开发语言为python的开发者。
followers:FOLLOWERS followers:>=100   意思:搜索拥有超过100关注者的开发者。
in:fullname Kobe 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

 

 

 

文章来源: https://blog.csdn.net/qq_45069279 ,作者:苜苜的烂笔头,版权归原作者所有,如需转载,请联系作者。

 

posted @   漫漫长路</>  阅读(1077)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示