作者:觉非

juejin.im/post/5e3d01c56fb9a07c91100801

很多的小伙伴,经常会有这样的困惑,我看了很多技术的学习文档、书籍、甚至视频,我想动手实践,于是我打开了GitHub,想找个开源项目,进行学习,获取项目实战经验。这个时候很多小伙伴就会面临这样的问题:“我不会搜啊,我该怎么找呀?”,最终只能放弃。

相信看完这篇文章,你就可以学会如何精准地在GitHub搜索项目。

开源项目的组成部分

在讲清楚之前呢,我们先来了解一下一个开源项目有哪些组成部分:

  • name: 项目名

  • description: 项目的简要描述

  • 项目的源码

  • README.md: 项目的详细情况的介绍

那么除了这些要素之外,项目本身的star数和fork数,也是评判一个开源项目是否火热的标准,这同时也是一个很重要的搜索标准。另外我们也要注意观察这个项目的最近更新日期,因为项目越活跃,那么它的更新日期也更加频繁。

以上要素就是我们在进行搜索的时候要注意的一些关键点。

如何搜索

那我们到底如何搜索呢?

假设我们现在要搜索React,相信大部分小伙伴都是直接在搜索框里输入:“React”,然后一回车,你就会发现情况像下面这样:

搜索结果会显示非常多的开源项目,简直让你应接不暇,无从下手,很多小伙伴搜到这一步就放弃了,因为项目太多了,根本找不到如何找到自己感兴趣的开源项目,所以这样搜索非常的不准确。所以我们来学习一下稍微精确一点的搜索方法。

按照 name 搜索

搜索项目名里面包含React的项目:

in:name React

得到如下结果:

可以看到,这些搜索结果都是项目名里面带有“React”关键字的项目,但是项目数量依旧很多。

现在我们来约束一下

比如我再精确到项目的star数大于5000+:

in:name React stars:>5000

结果是这样的:

搜索结果瞬间精确了很多,现在只有114个项目可供选择。当然我们一般不会把star数设置得这么高,一般设置个1000就差不多了。

同理,我们也可以按照fork的数量来进行搜索:

in:name React stars:>5000 forks:>3000

你会发现,结果越来越精确!

按照README来搜索

搜索README.md里面包含React的项目:

 in:readme React

结果有这么多,那么我们再限制一下它的star数和fork数:

in:readme React stars:>3000 forks:>3000

搜索结果一下子精确到了90个。这个时候你再去选择项目,就会变得容易很多。

按照descriptin搜索

假设我们现在要学习微服务的项目,我们搜索项目描述(description)里面包含微服务的项目:

in:description 微服务

结果有这么多,那我们接着增加一些筛选条件:

in:description 微服务 language:python

language:python的意思是我们把语言限制为python,我们来看看结果如何:

搜索结果精确了很多。

假如在这些项目里面,我们想要找到最近才更新的项目,意思是更新时间就在最近,我们可以这样:

in:description 微服务 language:python pushed:>2020-01-01

pushed:>2020-01-01的意思是我们把项目的最后更新时间限制到2020-01-01,我们来看看结果如何:

搜索结果只有8个了,这几个项目就属于更新比较活跃的项目,这下再也不纠结了。

总结

好,我们来总结一下。我们想要进行精准搜索,无非就是增加筛选条件。

  • in:name xxx // 按照项目名搜索

  • in:readme xxx // 按照README搜索

  • in:description xxx // 按照description搜索

那么在这里面呢,我们又可以增加筛选条件

  • stars:>xxx // stars数大于xxx

  • forks:>3000 // forks数大于xxx

  • language:xxx // 编程语言是xxx

  • pushed:>YYYY-MM-DD // 最后更新时间大于YYYY-MM-DD

以上就是我们在GitHub上面精准搜索项目的一些小技巧,希望对你有所帮助!

END

点赞是最大的支持

如何在Gihub上面精准搜索开源项目?相关推荐

  1. 如何在 GitHub 上高效搜索开源项目(转载)

    如何在 GitHub 上高效搜索开源项目 查看全文 http://www.taodudu.cc/news/show-1347360.html 相关文章: Mybatis.cfg配置标签的顺序问题 To ...

  2. 硬核!如何在 Github 精准搜索开源项目?

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:八个开源的 Spring Boot 学习资源,你值得拥有个人原创+1博客:点击前往,查看更多 作者:觉非 jue ...

  3. 如何在 GitHub 上高效搜索开源项目

    GitHub 的流行及其在开源世界的受欢迎程度自不必多言.再加上近来GitHub 官方又搞了个大新闻:私有仓库也改为免费使用,这在原来可是需要真金白银买的.可见微软收购后,依然没有改变 GitHub ...

  4. 你真的知道如何在 GitHub 上高效搜索开源项目吗?

    作者 | 侯树成 本文经授权转自Tomcat那些事儿 GitHub 的流行及其在开源世界的受欢迎程度自不必多言.再加上近来GitHub 官方又搞了个大新闻:私有仓库也改为免费使用,这在原来可是需要真金 ...

  5. Github上如何精确搜索开源项目

    Github上如何精确搜索开源项目 许多自学编程的小伙伴学完语言后总不知道怎么寻找较好的项目来做,大部分人都知道github是个巨大的开源项目宝库,但是大部分人搜索项目时都是直接搜关键词,然后出现了上 ...

  6. 使用Github搜索开源项目

    Git与GitHub Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理. GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git ...

  7. 你真的会高效的在GitHub上搜索开源项目吗?

    来源:Tomcat那些事 号外:最近整理了一下以前编写的一系列Spring Boot内容,整了个<Spring Boot基础教程>的PDF,关注我,回复:001,快来领取吧-!更多内容持续 ...

  8. 新手如何在Git Hub上学习开源项目+社交

    文章目录 背景 前提条件 搜索相应主题的开源项目 步骤 从Git Hub上下载项目源码并编译执行 步骤 Fork别人的项目并申请Pull Request 步骤 Git Hub社交 步骤 关于我 背景 ...

  9. 开源之夏 2022 | 申请 Jina AI 社区任务,成为业界领先的神经搜索开源项目贡献者

    目录 Jina AI 项目任务详情一览 项目一:近似最近邻搜索算法 HNSW 的改进与优化 项目二:支持基于 Redis 的近似最近邻搜索 项目三:基于深度学习的3D物体特征表达与学习 报名申请 Ji ...

最新文章

  1. 文件批量重命名的技术,你值得拥有
  2. 空间mysql升级_MySQL升级的3种方法
  3. python(numpy,pandas10)——pandas 合并数据 concat,append
  4. [css] 使用css如何设置背景虚化?
  5. oracle的undo
  6. 对python的意思_python的意思
  7. mybatisplus代码生成连接池_SpringBoot2 高级案例(15): 配置多数据源,整合MybatisPlus增强插件...
  8. centos7磁盘备份和还原
  9. BAT自动IP地址切换脚本
  10. 关于网狐游戏vs2003移植到vs2013
  11. linux 查看java_opts_java_opts 参数与JVM内存调优
  12. Racket 的诞生与发展
  13. SQL手工注入笔记1
  14. vsftpd命令详解
  15. MySQL数据库操作练习题-各种操作掌握MySQL查询操作
  16. 日记侠:如何用手机月入万元,只需从这5步开始
  17. Pandownload 开发者被抓了,但是其背后,百度难道不需要反思吗?(转载)
  18. 如何进行有效的计划管理?
  19. 微商城分销系统的怎么选择_有没有免费开源支持多端的_OctShop
  20. 【C++】相对路径与绝对路径以及斜杠与反斜杠的区别

热门文章

  1. 【ACM】杭电OJ 2040
  2. 【CTF】实验吧 疑惑的汉字
  3. 顺络新能源汽车技术研讨会圆满落幕
  4. 程序员转型AI,成功几率有几分?
  5. 金融领域首个开源中文BERT预训练模型,熵简科技推出FinBERT 1.0
  6. “编程能力差!90%输在这点上”谷歌AI专家:其实都是瞎努力!
  7. 19年NAACL纪实:自然语言处理的实用性见解 | CSDN博文精选
  8. 如何为回归问题选择最合适的机器学习方法?
  9. 医生还未失业,IBM Watson已跌入深渊 | 极客头条
  10. AI产品经理的定义和分类