首页 > 其他分享 >GitHub 高级搜索功能

GitHub 高级搜索功能

时间:2024-01-15 16:34:11浏览次数:42  
标签:GitHub 项目 xxx 高级 开源 搜索 stars


了解开源项目对于开发者的价值

开源项目可以给开发者带来以下帮助:

1、加速开发过程: 开源项目提供了大量的可复用代码、库、框架和工具,可以帮助开发者快速构建应用程序和解决技术问题。这种可重用性可以显著加速项目的开发周期。

2、降低开发成本: 通过使用开源项目,你可以减少开发成本,因为你不需要编写所有功能的代码。这可以节省时间和资源,降低项目的总体成本。

3、提高代码质量: 许多开源项目经过广泛的测试和审查,具有高质量的代码。通过使用这些项目,你可以受益于其他开发者的经验和最佳实践,提高你的应用程序的质量和稳定性。

4、学习和成长: 查看开源项目的源代码是学习编程技能的一种有效方式。你可以了解到不同的编码风格、设计模式和解决方案,从而提高自己的技术水平。

 

了解开源项目的整体搜索流程步骤

整体搜索步骤如下:

第一步:提炼关键词 明确定义你的需求,并将其转化为明确的关键词和短语。这些关键词应该涵盖项目所需的功能、技术栈、领域和其他相关方面。

第二步:根据关键词进行开源项目搜索 在GitHub或其他开源项目托管平台上,使用提炼出的关键词进行搜索。

第三步:对搜集的项目进行筛选,验证并测试 一旦找到一些潜在的开源项目,需要对它们进行筛选。仔细查看项目的描述、文档、许可证、最近的更新以及社区活跃度。这些信息可以帮助你评估项目的可信度和可用性。此外,尝试在本地环境中验证和测试项目,以确保它们符合你的业务需求。

第四步:整合解决方案并输出 一旦你确定了一个或多个满足需求的开源项目,你可以开始整合它们以创建解决方案。这可能包括将不同项目的组件整合到一个整体中,以满足你的特定需求。如果发现核心功能缺失,可以继续搜索其他项目,或者考虑进行二次开发以满足需求。 

 

步骤说明:本步骤将通过三种方法来帮助完成关键词的提炼。

1、基于搜索的方向需求提炼关键词

1.1 明确搜索方向

在提炼关键词之前,首先需要明确搜索的方向。

对于开发工程师来说,常用的搜索方向如下:

1、基于项目应用需求的搜索: 搜索开源项目,以满足特定项目的需求。这可能包括获取设计思路、选择前后端开发框架、实现特定功能的代码示例、了解如何使用SDK等。这种搜索方向旨在解决项目开发中的具体问题和挑战。

2.、基于技术研究需求的搜索: 为了学习新技术、新语言或探索新的解决方案而进行搜索。这种搜索方向旨在扩展自己的技术知识,了解行业的最新趋势,并探索可能的技术创新。 

 

1.2 基于搜索的方向需求提炼关键词

 

2、基于碎片化方法拆解问题补充关键词

3、基于AI工具辅助获得关键词 

 

 

GitHub高级搜索功能参考如下:

1、精准搜索仓库标题、仓库描述、README

公式:in关键词限制搜索范围:按照项目名/仓库名搜索(大小写不敏感)

公式

说明

in:name xxx 

项目名包含xxx

in:readme xxx

项目介绍文档里含有xxx

in:description xxx

项目描述包含xxx

示例:比如我搜索项目名里含有 Spring Boot 的in:name Spring Boot

结果:项目数量由42W变成了27W

示例:搜索项目描述里含有 Spring Boot 的in:description Spring Boot

2、stars或fork数量去查找

一个项目 star 数的多少,一般代表该项目的受欢迎程度 越受欢迎的项目,star数和fork数一定也不会少。

公式:

公式

说明

stars:>xxx stars

stars数大于xxx

stars:xx..xx

stars数在xx…xx之间

forks:>xxx 

forks数大于xxx

forks:xx..xx

forks数在xx…xx之间

示例:

1)查找star数大于等于5000的springboot项目

spring boot stars:>=5000

2)查找fork数大于500的springcloud项目

spring cloud forks:>500

3)查找fork在100到200之间并且stars数在80到100之间的springboot项目

 spring boot forks:100..200 stars:80..100

4)我们进一步缩小范围,Star数量过滤,要求Star数量大于3000

in:name  Spring Boot stars :> 3000

可以看到只有一千多个项目供我们选择了

3、按照地区和语言进行搜索

公式:

location:地区

language:语言

示例:

如果你要寻找使用 javascript 语言的国产项目,整个搜索条件就是:language:javascript location:china,从搜索结果来看,我们找到了14M个javascript 项目,近 26000 多名地区信息填写为 China 的 javascript 开发者。

4、根据仓库大小搜索

如果你只是想找一些小型的项目进行个人学习和开发,不想找特别复杂的,那么使用size关键字查找简单的 Demo,就成了你的首选。

公式:

size:>= 数字 【注意:100代表100Kb 单位为Kb】

5、根据仓库是否在更新的搜索

寻找项目当然是想要找到最新的项目,而不是好久都没有更新的老项目了。

公式:

pushed:> YYYY-MM-DD 最后上传日期大于YYYY-MM-DD

created:> YYYY-MM-DD 创建日期大于YYYY-MM-DD

示例:

寻找2023年最新更新的项目,可以用pushed:>2023-01-03 Spring Boot,这样子就可以找到今年一月份之后更新的最新项目。

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

如果你想在GitHub 上找某个大神是不是提交了新的项目,可以对他们进行精准搜索。

公式:

user: name 查找某个用户

org: name 查找

某个组织

followers:>=xxx 查找关注者数量超过xxx的开发者

示例:

找一下廖雪峰老师的python开源项目:user:MichaelLiao language:python

7、 根据仓库的LICENSE搜索

License是很多人容易忽略的一个问题,开源项目的License(项目授权协议) 有的开源项目作者明确禁止商用了,但是你不知情下载了,并且使用了,这就会很麻烦。

“非常友好”的协议,比较出名的有这几种:BSD、MPL(Mozilla)、Apache、MIT。这些协议不但允许项目的使用者使用开源库,有些还允许对开源库进行修改并重新分发。

以下这个网站,详细介绍了各个License的区别。http://choosealicense.com/licenses/

公式:

-license:对应协议

示例:

例如咱们要找协议是最为宽松的 Apache License 2 的代码

license:apache-2.0 Spring Boot

8、awesome加强搜索

Awesome 似乎已经成为不少 GitHub 项目喜爱的命名之一,Awesome 往往整合了大量的同一领域的资料,让大家可以更好的学习。

公式:

awesome 关键字 awesome 系列一般是用来收集学习、工具、书籍类相关的项目

示例:

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

awesome python

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

GitHub Trend 页面总结了每天/每周/每月周期的热门 Repositories 和 Developers,你可以看到在某个周期处于热门状态的开发项目和开发者。

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

GitHub Topic 展示了最新和最流行的讨论主题,在这里你不仅能够看到开发项目,还能看到更多非开发技术的讨论主题。

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

参考资料

  如果需要详细了解github搜索语法,请打开github官网文档。具体链接地址如下:

https://docs.github.com/zh/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax

 

 

标签:GitHub,项目,xxx,高级,开源,搜索,stars
From: https://www.cnblogs.com/chenxiaomeng/p/17965664

相关文章

  • 解决Github port443:Timed out
    Failedtoconnecttogithub.comport443:Timedout修改Git的网络设置注意修改成自己的代理的IP和端口号gitconfig--globalhttp.proxyhttp://127.0.0.1:7890gitconfig--globalhttps.proxyhttp://127.0.0.1:7890取消代理是因为,访问Gitee或其它是不需要梯子,所......
  • C++U5-第01课-深度优先搜索1
    在全排列问题中,使用深度优先搜索(DFS)的思想体现在以下几个方面:递归结构:在解决全排列问题的函数中,我们使用了递归调用的方式。通过递归地处理每个位置上的数字,然后继续递归地处理下一个位置上的数字,最终得到完整的排列结果。选择与回溯:在每次递归调用中,我们需要做出选择并标记......
  • Net 高级调试之十六:平台互用性及P/Invoke和内存泄漏调试
    一、简介今天是《Net高级调试》的第十六篇文章,也是这个系列的最后一篇文章了。既然是最后一篇文章,我需要在这里说明一下,我当前的这个系列,不是针对《Net高级调试》这本书来的,而是根据“一线码农”的视频做的这个系列。当然了,他的视频是根据《Net高级调试》这本书来的,内......
  • GitHub互赞快速涨星,最简单的涨星方法
    ​各位代码们,是不是厌倦了在GitHub上孤独地刷着自己的项目页面,眼巴巴地等待那星星数的涨幅?今天给大家安利一个超级实用的新玩意儿——涨星互助平台,一个让你的GitHub项目星星数飞起来的秘密基地!在这个平台上,你不仅能遇见一群志同道合的开源小伙伴,还能互相了解彼此的项目,发现那些隐......
  • 开源的代名词「GitHub 热点速览」
    当开发者谈论开源时,通常会想到GitHub,它不仅仅是一个代码托管平台,更是一个汇聚了全球开发者的社交中心。过去,开发者发布一款软件后,都是在自己的小圈子里默默努力和交流,现在通过GitHub平台可以方便地与全球的开发者分享、交流和协作。贡献者在这里展示自己的才华,追随者在这里寻......
  • 案例学Python:filter()函数的用法,高级!
    大家好,这里是程序员晚枫,又来分享有用的Python知识了。Python之所以好用,是因为有大量用于科学计算的内置函数和第三方库。用好这些第三方库,可以显著提高我们编程的速度和质量。今天我们一起来看一下Python中一个重要的内置函数:filter。filter()是Python中的一个内置函数,用于......
  • 搜索学习笔记+杂题 (基础二 dfs/bfs的拓展)
    搜索杂题:博客中讲述的题的题单:戳我二、dfs/bfs的各种变式1、深搜深搜以指数级的时间复杂度闻名,稍不注意时间就会爆炸,所以一般会用到剪枝的技巧(这个技巧基本上是因题而异,需要平时的刷题与积累)。深搜同样也是一种可变性极高的算法(其实都可以不叫做一种算法,深搜已经是一种做题的......
  • Angular 17+ 高级教程 – Component 组件 の Control Flow
     前言ControlFlow是Angularv17版本后推出的新模板语法,用来取代NgIf、NgForOf、NgSwitch这3个StructureDirective。StructureDirective的好处是比较灵活,原理简单,但是即便用了微语法,它看上去还是相当繁琐,而且不够优雅。ConrolFlow的好处是它的语法够美,缺点是不......
  • GitHub创建新仓库
    第一步、右上角点击【+】,选择【Newrepository】 第二步、设置一下仓库的基本信息在如下图的红框位置,输入仓库的名称、描述以及是否公开。第三步、滑到最下面,点击【Createrepository】,仓库就创建好了 ......
  • 高项改革???? 这里有最新的官方教程。 高级项目管理师
    大大咧咧,又有点后知后觉。决定软考后发现改机考了。并且是去年下半年改成机考,也就是说已经机考过一次。还好,还好,还好后知后觉的自己居然“发现”这一点。真是把自己蠢到了。。。。机考的范围应该就变大了吧,难度会不会降低呢?如果从背诵的角度看,范围变大就是难度变大。何来难度降......