bt365体育投注.主頁欢迎您!!

    <acronym id="zvmrr"></acronym>
    <td id="zvmrr"></td>
  • <tr id="zvmrr"><label id="zvmrr"></label></tr>
  • <acronym id="zvmrr"></acronym>
  • 恕我直言,你可能连 GitHub 搜索都不会用 - 如何精准搜索的神仙技巧

    大家好,我是你们的 前端章鱼猫,一个不喜欢喵、又不喜欢吃鱼的超级猫 ~

    今天给大家带来的是 在 GitHub 上如何精准搜索的神仙技巧

    【前端GitHub】,专注于挖掘 GitHub 上优秀的前端开源项目,抹平你的前端信息不对称,涵盖 JavaScript、Vue、React、Node、小程序、Flutter、Deno、HTML、CSS、数据结构与算法 等等。

    [前端GitHub] 地址:https://github.com/biaochenxu...

    以下为【前端GitHub】的第 4 期内容。

    普通的搜索

    相信一般人搜索项目时,都是直接搜索技术栈相关的项目。

    高级一点的搜索,会根据 最匹配、最多 Star 来进行排序、选择相应的语言、选择仓库或者代码来进行筛选。

    但是 GitHub 的搜索功能只支持以上这些而已吗 ?

    No!

    如果你只会用以上的功能,那你知道的仅仅是 GitHub 搜索的冰山一角!

    GitHub 的搜索是非常强大的!下面介绍更高级的搜索技巧。

    搜索语法

    搜索 GitHub 时,你可以构建匹配特定数字和单词的查询。

    查询大于或小于另一个值的值

    您可以使用?>>=<?和?<=?搜索大于、大于等于、小于以及小于等于另一个值的值。

    查询示例
    >*n*cats vue:>1000?匹配含有 "vue" 字样、星标超过 1000 个的仓库。
    >=*n*vue topics:>=5?匹配含有 "vue" 字样、有 5 个或更多主题的仓库。
    <*n*vue size:<10000?匹配小于 10 KB 的文件中含有 "vue" 字样的代码。
    <=*n*vue stars:<=50?匹配含有 "vue" 字样、星标不超过 50 个的仓库。

    您还可以使用 范围查询 搜索大于等于或小于等于另一个值的值。

    查询示例
    *n*..*vue stars:10..*?等同于?stars:>=10?并匹配含有 "vue" 字样、有 10 个或更多星号的仓库。
    *..*n*vue stars:*..10?等同于?stars:<=10?并匹配含有 "vue" 字样、有不超过 10 个星号的仓库。

    查询范围之间的值

    您可以使用范围语法?*n*..*n*?搜索范围内的值,其中第一个数字?n?是最低值,而第二个是最高值。

    查询示例
    *n*..*n*vue stars:10..50?匹配含有 "vue" 字样、有 10 到 50 个星号的仓库。

    查询日期

    您可以通过使用?>>=<<=?和 范围查询 搜索早于或晚于另一个日期,或者位于日期范围内的日期。

    日期格式必须遵循?ISO8601 标准,即?YYYY-MM-DD(年-月-日)。

    查询示例
    >*YYYY*-*MM*-*DD*vue created:>2016-04-29?匹配含有 "vue" 字样、在 2016 年 4 月 29 日之后创建的议题。
    >=*YYYY*-*MM*-*DD*vue created:>=2017-04-01?匹配含有 "vue" 字样、在 2017 年 4 月 1 日或之后创建的议题。
    <*YYYY*-*MM*-*DD*vue pushed:<2012-07-05?匹配在 2012 年 7 月 5 日之前推送的仓库中含有 "vue" 字样的代码。
    <=*YYYY*-*MM*-*DD*vue created:<=2012-07-04?匹配含有 "vue" 字样、在 2012 年 7 月 4 日或之前创建的议题。
    *YYYY*-*MM*-*DD*..*YYYY*-*MM*-*DD*vue pushed:2016-04-30..2016-07-04?匹配含有 "vue" 字样、在 2016 年 4 月末到 7 月之间推送的仓库。
    *YYYY*-*MM*-*DD*..*vue created:2012-04-30..*?匹配在 2012 年 4 月 30 日之后创建、含有 "vue" 字样的议题。
    *..*YYYY*-*MM*-*DD*vue created:*..2012-04-30?匹配在 2012 年 7 月 4 日之前创建、含有 "vue" 字样的议题。

    您也可以在日期后添加可选的时间信息?THH:MM:SS+00:00,以便按小时、分钟和秒进行搜索。 这是?T,随后是?HH:MM:SS(时-分-秒)和 UTC 偏移 (+00:00)。

    查询示例
    *YYYY*-*MM*-*DD*T*HH*:*MM*:*SS*+*00*:*00*vue created:2017-01-01T01:00:00+07:00..2017-03-01T15:30:15+07:00?匹配在 2017 年 1 月 1 日凌晨 1 点(UTC 偏移为?07:00)与 2017 年 3 月 1 日下午 3 点(UTC 偏移为?07:00)之间创建的议题。 UTC 偏移量?07:00,2017 年 3 月 1 日下午 3 点。 UTC 偏移量?07:00
    *YYYY*-*MM*-*DD*T*HH*:*MM*:*SS*Zvue created:2016-03-21T14:11:00Z..2016-04-07T20:45:00Z?匹配在 2016 年 3 月 21 日下午 2:11 与 2016 年 4 月 7 日晚上 8:45 之间创建的议题。

    排除特定结果

    您可以使用?NOT?语法排除包含特定字词的结果。?NOT?运算符只能用于字符串关键词, 不适用于数字或日期。

    查询示例
    NOThello NOT world?匹配含有 "hello" 字样但不含有 "world" 字样的仓库。

    缩小搜索结果范围的另一种途径是排除特定的子集。 您可以为任何搜索限定符添加?-?前缀,以排除该限定符匹配的所有结果。

    查询示例
    -*QUALIFIER*vue stars:>10 -language:javascript?匹配含有 "vue" 字样、有超过 10 个星号但并非以 JavaScript 编写的仓库。
    mentions:biaochenxuying -org:github?匹配提及 @biaochenxuying 且不在 GitHub 组织仓库中的议题

    对带有空格的查询使用引号

    如果搜索含有空格的查询,您需要用引号将其括起来。 例如:

    某些非字母数字符号(例如空格)会从引号内的代码搜索查询中删除,因此结果可能出乎意料。

    使用用户名的查询

    如果搜索查询包含需要用户名的限定符,例如?useractor?或?assignee,您可以使用任何 GitHub 用户名指定特定人员,或使用?@me?指定当前用户。

    查询示例
    QUALIFIER:USERNAMEauthor:biaochenxuying?匹配 @biaochenxuying 创作的提交。
    QUALIFIER:@meis:issue assignee:@me?匹配已分配给结果查看者的议题

    @me?只能与限定符一起使用,而不能用作搜索词,例如?@me main.workflow

    高级的搜索

    按仓库名称、说明或自述文件内容搜索

    通过?in?限定符,您可以将搜索限制为仓库名称、仓库说明、自述文件内容或这些的任意组合。

    如果省略此限定符,则只搜索仓库名称和说明。

    限定符示例
    in:namevue in:name?匹配其名称中含有 "jquery" 的仓库。
    in:descriptionvue in:name,description?匹配其名称或说明中含有 "vue" 的仓库。
    in:readmevue in:readme?匹配其自述文件中提及 "vue" 的仓库。
    repo:owner/namerepo:biaochenxuying/blog?匹配特定仓库名称,比如:用户为 biaochenxuying 的 blog 项目。

    在用户或组织的仓库内搜索

    要在 特定用户或组织 拥有的所有仓库中搜索,您可以使用?user?或?org?限定符。

    限定符示例
    user:*USERNAME*user:biaochenxuying forks:>=100?匹配来自 @biaochenxuying、拥有超过 100 复刻的仓库。
    org:*ORGNAME*org:github?匹配来自 GitHub 的仓库。

    按仓库大小搜索

    size?限定符使用 大于、小于和范围限定符 查找匹配特定大小(以千字节为单位)的仓库。

    限定符示例
    size:*n*size:1000?匹配恰好为 1 MB 的仓库。
    size:>=30000?匹配至少为 30 MB 的仓库。
    size:<50?匹配小于 50 KB 的仓库。
    size:50..120?匹配介于 50 KB 与 120 KB 之间的仓库。

    按关注者数量搜索

    您可以使用?followers?限定符以及大于、小于和范围限定符基于仓库拥有的关注者数量过滤仓库。

    限定符示例
    followers:*n*node followers:>=10000?匹配有 10,000 或更多关注者提及文字 "node" 的仓库。
    styleguide linter followers:1..10?匹配拥有 1 到 10 个关注者并且提及 "styleguide linter" 一词的的仓库。

    按复刻数量搜索

    forks?限定符使用大于、小于和范围限定符指定仓库应具有的复刻数量。

    限定符示例
    forks:*n*forks:5?匹配只有 5 个复刻的仓库。
    forks:>=205?匹配具有至少 205 个复刻的仓库。
    forks:<90?匹配具有少于 90 个复刻的仓库。
    forks:10..20?匹配具有 10 到 20 个复刻的仓库。

    按星号数量搜索

    您可以使用 大于、小于和范围限定符 基于仓库具有的 星标 数量搜索仓库

    限定符示例
    stars:*n*stars:500?匹配恰好具有 500 个星号的仓库。
    stars:10..20?匹配具有 10 到 20 个星号、小于 1000 KB 的仓库。
    stars:>=500 fork:true language:vue?匹配具有至少 500 个星号,包括复刻的星号(以 vue 编写)的仓库。

    按仓库创建或上次更新时间搜索

    你可以基于创建时间或上次更新时间过滤仓库。

    • 对于仓库创建,您可以使用?created?限定符;
    • 要了解仓库上次更新的时间,您要使用?pushed?限定符。?pushed?限定符将返回仓库列表,按仓库中任意分支上最近进行的提交排序。

    两者均采用日期作为参数。 日期格式必须遵循?ISO8601 标准,即?YYYY-MM-DD(年-月-日)。

    也可以在日期后添加可选的时间信息?THH:MM:SS+00:00,以便按小时、分钟和秒进行搜索。 这是?T,随后是?HH:MM:SS(时-分-秒)和 UTC 偏移 (+00:00)。

    日期支持 大于、小于和范围限定符

    限定符示例
    created:*YYYY-MM-DD*vue created:<2020-01-01?匹配具有 "vue" 字样、在 2020 年之前创建的仓库。
    pushed:*YYYY-MM-DD*css pushed:>2020-02-01?匹配具有 "css" 字样、在 2020 年 1 月之后收到推送的仓库。
    vue pushed:>=2020-03-06 fork:only?匹配具有 "vue" 字样、在 2020 年 3 月 6 日或之后收到推送并且作为复刻的仓库。

    按语言搜索

    您可以基于其编写采用的主要语言搜索仓库。

    限定符示例
    language:*LANGUAGE*vue language:javascript?匹配具有 "vue" 字样、以 JavaScript 编写的仓库。

    按主题搜索

    您可以查找归类为特定 主题 的所有仓库。

    限定符示例
    topic:*TOPIC*topic:algorithm 匹配已归类为 "algorithm" 主题的仓库。

    估计又有很多人不知道 GitHub 上有话题一说的吧。

    按主题数量搜索

    您可以使用?topics?限定符以及 大于、小于和范围限定符 按应用于仓库的 主题 数量搜索仓库。

    限定符示例
    topics:*n*topics:5?匹配具有五个主题的仓库。
    topics:>3?匹配超过三个主题的仓库。

    使用可视界面搜索

    还可以使用?search?page 或?advanced search?page 搜索 GitHub 哦。

    这种搜索方式,估计就更少人知道了吧。

    advanced search?page 提供用于构建搜索查询的可视界面。

    您可以按各种因素过滤搜索,例如仓库具有的星标数或复刻数。 在填写高级搜索字段时,您的查询将在顶部搜索栏中自动构建。

    高级搜索

    按许可搜索

    您可以按其许可搜索仓库。 您必须使用许可关键词按特定许可或许可系列过滤仓库。

    限定符示例
    license:*LICENSE_KEYWORD*license:apache-2.0?匹配根据 Apache License 2.0 授权的仓库。

    按公共或私有仓库搜索

    您可以基于仓库是公共还是私有来过滤搜索。

    限定符示例
    is:publicis:public org:github?匹配 GitHub 拥有的公共仓库。
    is:privateis:private pages?匹配您有访问权限且包含 "pages" 字样的私有仓库。

    按公共或私有仓库搜索

    您可以根据仓库是否为镜像以及托管于其他位置托管来搜索它们。

    限定符示例
    mirror:truemirror:true GNOME?匹配是镜像且包含 "GNOME" 字样的仓库。
    mirror:falsemirror:false GNOME?匹配并非镜像且包含 "GNOME" 字样的仓库。

    基于仓库是否已存档搜索

    你可以基于仓库是否已存档来搜索仓库。

    限定符示例
    archived:truearchived:true GNOME?匹配已存档且包含 "GNOME" 字样的仓库。
    archived:falsearchived:false GNOME?匹配未存档且包含 "GNOME" 字样的仓库。

    基于具有标签的议题数量搜索

    您可以使用限定符?help-wanted-issues:>n?和?good-first-issues:>n?搜索具有最少数量标签为?help-wanted?或?good-first-issue?议题的仓库。

    限定符示例
    good-first-issues:>ngood-first-issues:>2 javascript?匹配具有超过两个标签为?good-first-issue?的议题且包含 "javascript" 字样的仓库。
    help-wanted-issues:>nhelp-wanted-issues:>4 react?匹配具有超过四个标签为?help-wanted?的议题且包含 "React" 字样的仓库。

    学习

    其实,以上很多内容的都是来自于 GitHub 的官方文档,如果你还想学习更多技巧,请看

    GitHub 官方文档 : https://docs.github.com/cn

    如果你还不了解或者不会使用 GitHub ,可以看看这一章节:

    Git 和 GitHub 学习资源https://docs.github.com/cn/fr...

    最后

    [前端GitHub] 地址:https://github.com/biaochenxu...

    平时如何发现好的开源项目,可以看看这篇文章:GitHub 上能挖矿的神仙技巧 - 如何发现优秀开源项目

    觉得有用 ?喜欢就收藏,顺便点个赞吧,你的支持是我最大的鼓励!

    在公众号后台回复:电子书 ,可以获得 160 本前端精华书籍哦。

    往期精文

    阅读 1.7k

    推荐阅读
    全栈修炼
    用户专栏

    分享 大前端开发 相关知识,全栈程序员的成长之路,公众号【全栈修炼】。

    1040 人关注
    72 篇文章
    专栏主页
    bt365体育投注