前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >教你如何在 Github 上面精准搜索开源项目?

教你如何在 Github 上面精准搜索开源项目?

作者头像
逆锋起笔
修改2020-03-26 21:24:39
3890
修改2020-03-26 21:24:39
举报
文章被收录于专栏:逆锋起笔逆锋起笔

作者:觉非 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上面精准搜索项目的一些小技巧,希望对你有所帮助!

微信搜一搜 逆锋起笔
微信搜一搜 逆锋起笔

「逆锋起笔」专注程序员综合发展,分享Java、Python、编程技术资讯、职业生涯、行业动态的互联网平台,实现技术与信息共享,关注即送全网最新视频教程。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 逆锋起笔 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 开源项目的组成部分
  • 如何搜索
    • 按照 name 搜索
      • 按照README来搜索
        • 按照descriptin搜索
        • 总结
        相关产品与服务
        TAPD 敏捷项目管理
        TAPD(Tencent Agile Product Development)是源自于腾讯的敏捷研发协作平台,提供贯穿敏捷研发生命周期的一站式服务。覆盖从产品概念形成、产品规划、需求分析、项目规划和跟踪、质量测试到构建发布、用户反馈跟踪的产品研发全生命周期,提供了灵活的可定制化应用和强大的集成能力,帮助研发团队有效地管理需求、资源、进度和质量,规范和改进产品研发过程,提高研发效率和产品质量。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档