10个技巧,3分钟教会你github高效寻找开源项目(转)

news/2025/1/5 14:35:49/文章来源:https://www.cnblogs.com/wjsqqj/p/18643623

作为程序员,不论是开发还是学习,肯定会用到开源项目,那么怎么快速在开源网站找到这些项目呢?

  • 常用的开源网站有:github 和 gitee

  • github是全球最大的开源社区,今天就以github为例,演示一下

  • github界面

  • 一般来说,优秀的项目,维护会比较频繁,提交数也就会多一点。当然,一个好的项目,它的Star数和Fork数也会比较多。

普通人搜索的方式

1、打开github

2、输入关键词,搜出来一堆的项目,随便浏览一下,简单看一下README文档。嗯,感觉还不错的样子!

3、然后就是克隆仓库,看一下源码,发现看不懂,内心OS:这是给人看的吗?删了删了!

心累

用这种方法想要找到适合自己的开源项目,跟大海捞针没什么区别。只会一次次的浪费时间,也会消耗自己的耐心和精力,到最后干脆摆烂躺平了。

不过在看这篇文章的你,肯定不想这样啦!那么下面的10个github高级搜索技巧,赶紧学起来吧!

10个高级搜索技巧

⑴、通过in关键词搜索

in关键词可以用来限制搜索范围,精准搜索仓库名称name,说明description 以及README 文件中的内容。description 就是github界面图中, About 中的信息。

示例说明
in:name C++ 搜索项目名称中包含 "C++" 的所有项目
in:description machine learning 搜索项目描述中包含 "machine learning" 的所有项目
in:readme API 搜索项目介绍文档(README)中包含 "API" 的所有项目

下面以搜索spring boot相关的项目为例:

  • 如果直接在搜索栏输入spring boot并回车,会搜到46w个结果

  • 做一个限制,这次搜索项目名里含有 spring boot 的

    in:name spring boot

​ 看到没有,数量马上又46w降到29.5w,但是项目数量还是太多了。没关系,我们可以再加其他的搜索限制,接着往下看!

⑵、通过 stars、forks 数量搜索

一个优秀的项目 star 数量和 fork 数量肯定不会少,那么我可以使用 大于某个数,或者在某个范围之间的方式来过滤项目:

  1. 按照星标数量搜索:
    • 语法: 关键字 stars:>=数量 或 关键字 stars:数量1..数量2
  2. 按照分支数量搜索:
    • 语法: 关键字 forks:>=数量 或 关键字 forks:数量1..数量2
示例说明
javascript stars:>1000 搜索所有星标数量大于1000JavaScript项目
javascript stars:1000..2000 搜索所有星标数量在1000到2000之间的JavaScript项目
web framework forks:>500 搜索所有分支数量大于500的 Web 框架项目
web framework forks:500..1000 搜索所有分支数量在500到1000之间的 Web 框架项目
  • 我们进一步限制搜索范围,要求star数量大于2000,数量马上变成只有31个

    in:name spring boot starts:>2000

    stars大于2000

  • 再要求fork数量大于1000,满足要求的项目数量更少了,只有19个

    in:name spring boot starts:>2000 forks:>1000

⑶、按项目创建时间、更新时间搜索

如果优秀项目比较多,相信大家都会喜欢最新的项目,那么就可以把老旧的项目筛选出去。

要是本来就没几个项目供你选,就没必要做这一步了。

  1. 按照项目创建时间搜索:
    • 语法: 关键字 created:>=日期
  2. 按照项目更新时间搜索:
    • 语法: 关键字 pushed:>=日期
示例说明
java created:>=2022-01-01 搜索在2022年1月1日之后创建的Java项目
android pushed:>=2022-01-01 搜索在2022年1月1日之后更新的Android项目
  • 演示:

pushed

⑷、按照地区、编程语言搜索

  • 一般我们都是想找到自己会的编程语言写的项目,否则还得专门去学一遍语言才能看懂,那岂不是兜了一大圈。

  • 另外,要是项目有中文的文档说明,就更好了!(虽然很多优秀的项目都是用英文写的,程序员不能排斥学习英语呀!)

  1. 按照地区搜索:
    • 语法: location:地区 关键字
  2. 按照编程语言搜索:
    • 语法: language:编程语言 关键字
示例说明
location:china 地区为中国
language:python 编程语言为python
  • 例如使用 python 编程语言,且star数量大于1000的国产项目,搜索条件就是:location:china language:python stars:>1000

⑸、按文件名、仓库大小、扩展名搜索

  • 凡事都是从易到难,一开始我们更倾向于找一些小型的项目来学习,那么可以用size来筛选一些简单点的项目。
  1. 按照文件名搜索:
    • 语法: 关键字 filename:文件名
  2. 按照仓库大小搜索:
    • 语法: 关键字 size:>=大小
  3. 按照扩展名搜索:
    • 语法: 关键字 extension:扩展名
示例说明
machine learning filename:utils 搜索包含文件名为 utils 的机器学习项目
data analysis size:<5000 搜索仓库小于5000KB的数据分析项目(默认单位 KB)
web development extension:html 搜索包含HTML文件的 web development 项目
  • 举个例子:data analysis size:<5000 extension:py

⑹、按文件、路径内容搜索

  1. 按照文件内容搜索:

    • 语法: 关键字 in:file 搜索内容
  2. 按照路径内容搜索:

    • 语法: 关键字 path:路径/to/search
示例说明
machine learning in:file 包含 "machine learning" 内容的所有文件
database path:src/ 搜索在路径为 src/ 下的所有文件中包含关键字 "database" 的项目

例子: 假设你想要查找包含 "authentication" 内容的文件,并且这些文件位于名为 src/ 的路径下,你可以使用如下搜索条件

  • authentication in:file path:src/

文件名,路径搜索

⑺、根据某个人或组织进行搜索

  • 这个可以用来精准搜索你关注的大神是不是提交了新的项目
  1. 搜索特定个人的项目:
    • 语法: user:用户名 关键字
  2. 搜索特定组织的项目:
    • 语法: org:组织名 关键字
示例说明
user:torvalds linux kernel 搜索用户 Linus Torvalds 的项目中包含 "linux kernel" 的内容
org:Microsoft azure cloud 搜索 Microsoft 组织的项目中包含 "azure cloud" 的内容

torvalds

⑻、根据仓库的LICENSE搜索

在使用任何开源项目之前,最好详细阅读并理解项目所采用的具体授权协议,因为有的开源项目作者是明确禁止商用的,如果你使用在商业上,后面会很麻烦的!

按照许可证搜索:

  • 语法: license:许可证类型 关键字
示例说明
license:gpl encryption 搜索包含GPL许可证的仓库中含有 "encryption" 关键字的项目

⑼、awesome加强搜索

  • awesome 往往整合了大量的同一领域的资料,收集学习、工具、书籍类相关的项目,方便大家更好的学习。

  • 比如搜索优秀的java相关的项目,包括框架、教程等

awesome java

⑽、热门搜索(GitHub Trend 和 GitHub Topic)

  • GitHub Trend 允许你查看当前在 GitHub 上受欢迎的项目,根据不同的编程语言和时间范围进行筛选

  • GitHub Topic 是一种对项目进行标签分类的方式。GitHub 上的项目可以被分配到不同的主题标签,使得你可以通过主题来浏览和发现项目。

以上就是关于高效寻找开源项目的全部内容了!

📢欢迎各位 👍点赞 ⭐收藏 📝评论,如有错误请留言指正,非常感谢!

 

2024-03-01 17:04:45【出处】:https://www.cnblogs.com/Wayne123/p/18046322

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/861820.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Excel中使用VLOOKUP对两个单元格关联

一、背景 exl中需要关联两个Excel,根据主键合并两个单元格数据二、使用方法1、表1---列包含在id、姓名、年龄2、表2---列包含姓名、性别3、期望根据【姓名】列为主键,关联两个表数据,补充在【合并-性别】列 首先新增【合并-性别】列,然后选中期望填充的单元格,再点击2位置…

Redis启动,停止,Redis命令行的操作

一、redis命令1 redis执行了make install后,redis的课执行文件都会自动复制到 /usr/local/bin 目录 2 redis-server redis服务器 3 redis-cli redis命令行客户端 4 redis-benchmark redis性能测试工具 5 redis-check-aof aof文件修复工具 6 r…

记一次 .NET某汗液测试机系统 崩溃分析

一:背景 1. 讲故事 上个月在社区写的文章比较少,一直关注的朋友应该知道那段时间被狗咬了以及一些琐事处理,所以手头上也攒了不少需要分享的案例,这段时间比较空闲,逐个给大 家做个分享吧,刚好年后为新版的 .NET高级调试训练营 做案例储备,所以抓紧时间疯狂输出吧! 这次…

Abp vNext 扩展属性

扩展属性我们发现abp的默认都会有一个ExtraProperties属性,那么他的作用是什么呢?当我们使用abp的时候,需要对其原有的表进行扩展或者添加我们想要的字段,又不想改源码,以最小的方式实现,这个时候就体现它的价值了。 我们添加的数据都会在ExtraProperties以JSON对象方式进…

DL00230-基于Transformer的高光谱解混完整实现python

完整链接: https://item.taobao.com/item.htm?ft=t&id=794567466608&spm=a21dvs.23580594.0.0.3bc12c1bIJwjmP

WinCC动态修改画面窗口变量前缀

include"apdefao.h" void OnLButtonDown(char* lpszPictureName,char* lpszObjectName,char* lpszPropertyName) { setPropBOOL(lps) }

低代码必备:90%的企业都在使用的9款项目管理软件

引言 在数字化转型的浪潮中,低代码技术逐渐成为企业提升项目管理效率的重要工具。这9款项目管理软件涵盖了不同类型的工具,包括传统的项目管理软件、新兴的云平台以及行业特定的解决方案。它们在企业的项目管理中发挥着关键作用,为企业带来了更高的效率、更灵活的业务流程以…

【数字化转型】 IT如何做规划?

IT部门规划1. IT未来的愿景是什么? 2. 如何构建架构蓝图? 3. IT部门应该怎么规划?4. XD历次IT规划实例IT规划是基于公司战略来制定的,而企业架构衔接战略与项目实施落地的桥梁——承载IT的战略,指导IT实施。那么,到底应该怎么做IT规划,IT规划与企业架构之间应该如何关联…

4.4圆角边框

圆形边框实现图片居中

DVWA靶场Command Injection(命令注入) 漏洞low(低),medium(中等),high(高)所有级别通关教程及源码审计

命令注入 命令注入漏洞是一种安全漏洞,攻击者可以通过向应用程序输入恶意命令,诱使系统执行这些命令,从而达到未授权访问、数据篡改、系统控制等目的。该漏洞通常出现在应用程序未对用户输入进行充分验证和清理时 常见管道符: ; 前面的执行完执行后面的 | 上一条命…

车身舒适系统HIL仿真测试解决方案

车身舒适控制系统是指为驾驶人员提供舒适性控制的装置,伴随着车身舒适系统日益复杂化,系统级的自动测试手段对于保证现今复杂车身舒适系统的功能稳定性验证非常重要,经纬恒润基于HIRAIN TESTBASE平台开发的车身舒适系统测试系统,针对车身舒适域的电控单元实现了在实验室条件…