前言
最近发布了《GitHub嵌入式好项目总结》系列,受到了大家的喜欢,不过有同学反馈GitHub不会用,所以我花了点时间写了下GitHub的使用技巧,以供参考。
正文
如果你想快速掌握所有的学习更多技巧
GitHub 官方文档 : https://docs.github.com/cn
一般来说,大多数人在搜索项目时,会倾向于直接搜索与他们所需技术栈相关的项目。而更高级的搜索方式,则涉及根据项目的匹配度、获得的Star数量进行排序,以及选择特定的编程语言、仓库类型或代码片段作为筛选条件,以便更精确地找到符合需求的项目。
下面以搜索stm32项目为例:
可以看到搜索到的信息非常多且杂乱,需要你再花费大精力再去筛选。
如果你仅仅依赖上述功能,那么你只是触及了 GitHub 搜索功能的冰山一角!
实际上,GitHub 的搜索功能远比你所了解的更为强大和丰富。接下来,我将为你介绍更多高级的搜索技巧,帮助你更深入地挖掘 GitHub 的潜力。
搜索 GitHub 时,你可以构建匹配特定数字和单词的查询。
1.查询大于或小于另一个值的值
可以使用 >、>=、< 和 <= 搜索大于、大于等于、小于以及小于等于另一个值的值。
实例:
查找星标超过1000的stm32项目,结果只有2个,硬件的高赞项目确实少,当然也是热度不够的原因,很多互联网的一些资料集合项目轻松就几万stars。
stm32 stars:>10000
还可以使用 范围查询 搜索大于等于或小于等于另一个值的值。
2.查询范围之间的值
可以使用范围语法 *n*..*n* 搜索范围内的值,其中第一个数字 n 是最低值,而第二个是最高值。
3.查询日期
可以通过使用 >、>=、<、<= 和 范围查询 搜索早于或晚于另一个日期,或者位于日期范围内的日期。
日期格式必须遵循 [ISO8601]标准,即 YYYY-MM-DD(年-月-日)。
也可以在日期后添加可选的时间信息 THH:MM:SS+00:00,以便按小时、分钟和秒进行搜索。这是 T,随后是 HH:MM:SS(时-分-秒)和 UTC 偏移 (+00:00)。
4.排除特定结果
可以使用 NOT 语法排除包含特定字词的结果。NOT 运算符只能用于字符串关键词, 不适用于数字或日期。
缩小搜索结果范围的另一种途径是排除特定的子集。您可以为任何搜索限定符添加 - 前缀,以排除该限定符匹配的所有结果。
5.对带有空格的查询使用引号
如果搜索含有空格的查询,您需要用引号将其括起来。例如:
cats NOT “hello world” 匹配含有 “vue” 字样但不含有 “hello world” 字样的仓库。
build label:“bug fix” 匹配具有标签 “bug fix”、含有 “build” 字样的议题。
某些非字母数字符号(例如空格)会从引号内的代码搜索查询中删除,因此结果可能出乎意料。
6.使用用户名的查询
如果搜索查询包含需要用户名的限定符,例如 user、actor 或 assignee,您可以使用任何 GitHub 用户名指定特定人员,或使用 @me 指定当前用户。
@me 只能与限定符一起使用,而不能用作搜索词,例如 @me main.workflow。
7.按仓库名称、说明或自述文件内容搜索
通过 in 限定符,可以将搜索限制为仓库名称、仓库说明、自述文件内容或这些的任意组合。
如果省略此限定符,则只搜索仓库名称和说明。
实例:
匹配名字里就包含stm32的项目,可以增加相关度
stm32 in:name,description
8.在用户或组织的仓库内搜索
要在特定用户或组织 拥有的所有仓库中搜索,可以使用 user 或 org 限定符。
9.按仓库大小搜索
size 限定符使用大于、小于和范围限定符查找匹配特定大小(以千字节为单位)的仓库。
实例:搜索仓库是1MB大小的stm32项目
stm32 size:1000
10.按关注者数量搜索
可以使用 followers 限定符以及大于、小于和范围限定符基于仓库拥有的关注者数量过滤仓库。
实例:
搜索关注者超过10000人的stm32项目,也是不多,硬件的项目热度相对低
stm32 followers:>10000
硬件的项目关注还是少
11.按复刻数量搜索
forks 限定符使用大于、小于和范围限定符指定仓库应具有的复刻数量。
实例:
搜索复刻超过1000次的stm32项目
stm32 forks:>1000
12.按星号数量搜索
可以使用 大于、小于和范围限定符号基于仓库具有的 星标 数量搜索仓库
13.按仓库创建或上次更新时间搜索
可以基于创建时间或上次更新时间过滤仓库。
对于仓库创建,您可以使用 created 限定符;
要了解仓库上次更新的时间,要使用 pushed 限定符。pushed 限定符将返回仓库列表,按仓库中任意分支上最近进行的提交排序。
两者均采用日期作为参数。日期格式必须遵循 ISO8601 标准,即 YYYY-MM-DD(年-月-日)。
也可以在日期后添加可选的时间信息 THH:MM:SS+00:00,以便按小时、分钟和秒进行搜索。这是 T,随后是 HH:MM:SS(时-分-秒)和 UTC 偏移 (+00:00)。
日期支持 大于、小于和范围限定符。
实例:
搜索在2024年1月1号之后创建的stm32项目
stm32 created:>2024-01-01
实例:
搜索在2024年1月1号之后接受推送的stm32项目,可以判断是不是比较活跃
stm32 pushed:>2024-01-01
14.按语言搜索
可以基于其编写采用的主要语言搜索仓库。
实例:
搜索基于C++的stm32项目
stm32 language:C++
15.按主题搜索
可以查找归类为特定主题的所有仓库。
实例:搜索以算法为主题的stm32项目
stm32 topic:algorithm
16.按主题数量搜索
可以使用 topics 限定符以及 [大于、小于和范围限定符]按应用于仓库的 [主题] 数量搜索仓库。
17.使用可视界面搜索
还可以使用 search page 或 advanced search page 搜索 GitHub 哦。
这种搜索方式,估计就更少人知道了吧。
advanced search page 提供用于构建搜索查询的可视界面。
可以按各种因素过滤搜索,例如仓库具有的星标数或复刻数。在填写高级搜索字段时,您的查询将在顶部搜索栏中自动构建。
地址:
https://github.com/search/advanced
18.按许可搜索
可以按其许可搜索仓库。您必须使用许可关键词按特定许可或许可系列过滤仓库。
19.按公共或私有仓库搜索
可以基于仓库是公共还是私有来过滤搜索。
20.按公共或私有仓库搜索
可以根据仓库是否为镜像以及托管于其他位置托管来搜索它们。
21.基于仓库是否已存档搜索
可以基于仓库是否已存档来搜索仓库。
基于具有 good first issue 或 help wanted 标签的议题数量搜索
可以使用限定符 help-wanted-issues:>n 和 good-first-issues:>n 搜索具有最少数量标签为 help-wanted 或 good-first-issue 议题的仓库。
22.按交互排序
语法 | 例子 |
---|---|
org:github sort:interactions | 匹配 GitHub 拥有的存储库中的问题,按反应和评论的最高组合数排序 |
org:github sort:interactions-asc | 匹配 GitHub 拥有的存储库中的问题,按最少的反应和评论组合数排序 |
23.搜索代码
参考文档:
https://zhuanlan.zhihu.com/p/347723938
https://blog.csdn.net/PaperJack/article/details/118543980
https://cloud.tencent.com/developer/article/2024250
https://www.cnblogs.com/flydashpig/p/11795238.html
未完待续,持续更新!以防后边找不到可以点赞收藏下!