跳至主要内容

搜索代码库

你可以在 GitHub 上搜索代码库,并使用这些代码库搜索限定符以任意组合的方式缩小搜索结果范围。

你可以在整个 GitHub 上全局搜索代码库,或者在特定组织内搜索代码库。有关更多信息,请参阅“关于在 GitHub 上搜索”。

若要将 fork 包含在搜索结果中,你需要在查询中添加 `fork:true` 或 `fork:only`。有关更多信息,请参阅“在 fork 中搜索”。

提示

  • 有关可以添加到任何搜索限定符以进一步改进结果的搜索语法的列表,请参阅“了解搜索语法”。
  • 使用引号括起多词搜索词。例如,如果要搜索带有“正在进行中”标签的问题,则应搜索 `label:"in progress"`。搜索不区分大小写。

按代码库名称、描述或自述文件的內容搜索

使用 `in` 限定符,你可以将搜索范围限制为代码库名称、代码库描述、代码库主题、自述文件的內容或这些内容的任意组合。省略此限定符时,仅搜索代码库名称、描述和主题。

限定符示例
in:namejquery in:name 匹配代码库名称中包含“jquery”的代码库。
in:descriptionjquery in:name,description 匹配代码库名称或描述中包含“jquery”的代码库。
in:topicsjquery in:topics 匹配已将“jquery”标记为主题的代码库。
in:readmejquery in:readme 匹配在代码库的自述文件中提及“jquery”的代码库。
repo:owner/namerepo:octocat/hello-world 匹配特定代码库名称。

基于代码库内容进行搜索

你可以使用 `in:readme` 限定符通过搜索代码库的自述文件中的内容来查找代码库。有关更多信息,请参阅“关于自述文件”。

除了使用 `in:readme` 之外,无法通过搜索代码库内的特定内容来查找代码库。若要搜索代码库内的特定文件或内容,可以使用文件查找器或特定于代码的搜索限定符。有关更多信息,请参阅“在 GitHub 上查找文件”和“了解 GitHub 代码搜索语法”。

限定符示例
in:readmeoctocat in:readme 匹配在代码库的自述文件中提及“octocat”的代码库。

在用户的或组织的代码库中搜索

若要在特定用户或组织拥有的所有代码库中搜索,可以使用 `user` 或 `org` 限定符。

限定符示例
user:USERNAMEuser:defunkt forks:>100 匹配来自 @defunkt 且 fork 数超过 100 的代码库。
org:ORGNAMEorg:github 匹配来自 GitHub 的代码库。

按代码库大小搜索

`size` 限定符查找与特定大小(以千字节为单位)匹配的代码库,使用大于、小于和范围限定符。有关更多信息,请参阅“了解搜索语法”。

限定符示例
size:nsize:1000 匹配大小正好为 1 MB 的代码库。
size:>nsize:>=30000 匹配大小至少为 30 MB 的代码库。
size:<nsize:<50 匹配大小小于 50 KB 的代码库。
size:n..nsize:50..120 匹配大小介于 50 KB 和 120 KB 之间的代码库。

按关注者数量搜索

你可以使用 `followers` 限定符以及大于、小于和范围限定符,根据关注代码库的用户数量筛选代码库。有关更多信息,请参阅“了解搜索语法”。

限定符示例
followers:>=nnode followers:>=10000 匹配提及“node”且关注者数量不少于 10,000 的代码库。
followers:n..nstyleguide linter followers:1..10 匹配提及“styleguide linter”且关注者数量介于 1 和 10 之间的代码库。

按 fork 数量搜索

`forks` 限定符指定代码库应具有的 fork 数量,使用大于、小于和范围限定符。有关更多信息,请参阅“了解搜索语法”。

限定符示例
forks:nforks:5 匹配只有五个 fork 的代码库。
forks:>nforks:>=205 匹配 fork 数至少为 205 的代码库。
forks:<nforks:<90 匹配 fork 数少于 90 的代码库。
forks:n..nforks:10..20 匹配 fork 数为 10 到 20 的代码库。

按星标数量搜索

你可以使用大于、小于和范围限定符,根据代码库拥有的星标数量搜索代码库。有关更多信息,请参阅“使用星标保存代码库”和“了解搜索语法”。

限定符示例
stars:nstars:500 匹配星标数正好为 500 的代码库。
stars:n..n size:<nstars:10..20 size:<1000 匹配星标数为 10 到 20 且大小小于 1000 KB 的代码库。
stars:>=n fork:true language:LANGUAGEstars:>=500 fork:true language:php 匹配星标数至少为 500、包含 fork 且使用 PHP 编写的代码库。

按代码库创建或最后更新时间搜索

您可以根据创建时间或上次更新时间筛选代码库。对于代码库创建时间,您可以使用created限定符;要查找代码库上次更新的时间,您需要使用pushed限定符。pushed限定符将返回一个代码库列表,按代码库中任何分支上最近提交的提交时间排序。

两者都采用日期作为参数。日期格式必须遵循ISO8601标准,即YYYY-MM-DD(年-月-日)。您还可以添加可选的时间信息THH:MM:SS+00:00在日期之后,按小时、分钟和秒进行搜索。那是T,后跟HH:MM:SS(小时-分钟-秒)和UTC偏移量(+00:00)。

搜索日期时,您可以使用大于、小于和范围限定符来进一步筛选结果。有关更多信息,请参阅“理解搜索语法”。

限定符示例
created:<YYYY-MM-DDwebos created:<2011-01-01 匹配包含单词“webos”且在2011年之前创建的代码库。
pushed:>YYYY-MM-DDcss pushed:>2013-02-01 匹配包含单词“css”且在2013年2月之后推送的代码库。
pushed:>=YYYY-MM-DD fork:onlycase pushed:>=2013-03-06 fork:only 匹配包含单词“case”且在2013年3月6日或之后推送的代码库,并且这些代码库是fork。

按语言搜索

您可以根据代码库中代码的语言搜索代码库。

限定符示例
language:LANGUAGErails language:javascript 匹配包含单词“rails”且是用JavaScript编写的代码库。

按主题搜索

您可以找到所有使用特定主题分类的代码库。有关更多信息,请参阅“使用主题对代码库进行分类”。

限定符示例
topic:TOPICtopic:jekyll 匹配已使用主题“Jekyll”进行分类的代码库。

按主题数量搜索

您可以使用topics限定符以及大于、小于和范围限定符,按应用于代码库的主题数量搜索代码库。有关更多信息,请参阅“使用主题对代码库进行分类”和“理解搜索语法”。

限定符示例
topics:ntopics:5 匹配具有五个主题的代码库。
topics:>ntopics:>3 匹配具有三个以上主题的代码库。

按许可证搜索

您可以按代码库中的许可证类型搜索代码库。您必须使用许可证关键字才能按特定许可证或许可证系列筛选代码库。有关更多信息,请参阅“许可代码库”。

限定符示例
license:LICENSE_KEYWORDlicense:apache-2.0 匹配根据Apache License 2.0获得许可的代码库。

按代码库可见性搜索

您可以根据代码库的可见性筛选搜索结果。有关更多信息,请参阅“关于代码库”。

限定符示例
is:publicis:public org:github 匹配GitHub拥有的公共代码库。
is:privateis:private pages 匹配您可以访问的私有代码库,并且包含单词“pages”。

根据代码库自定义属性搜索

您可以使用props.前缀限定符根据自定义属性筛选代码库。有关更多信息,请参阅“管理组织中代码库的自定义属性”。

要使这些限定符生效,搜索必须仅限于单个组织。否则,将忽略props.限定符。

限定符示例
props.PROPERTY:VALUEorg:github props.environment:production 匹配来自github组织的代码库,这些代码库的自定义属性environment设置为production

根据代码库是否为镜像搜索

您可以根据代码库是否为镜像并托管在其他位置来搜索代码库。有关更多信息,请参阅“查找参与GitHub开源项目的方法”。

限定符示例
mirror:truemirror:true GNOME 匹配是镜像且包含单词“GNOME”的代码库。
mirror:falsemirror:false GNOME 匹配不是镜像且包含单词“GNOME”的代码库。

根据代码库是否为模板搜索

您可以根据代码库是否为模板来搜索代码库。有关更多信息,请参阅“创建模板代码库”。

限定符示例
template:truetemplate:true GNOME 匹配是模板且包含单词“GNOME”的代码库。
template:falsetemplate:false GNOME 匹配不是模板且包含单词“GNOME”的代码库。

根据代码库是否已存档搜索

您可以根据代码库是否已存档来搜索代码库。有关更多信息,请参阅“存档代码库”。

限定符示例
archived:truearchived:true GNOME 匹配已存档且包含单词“GNOME”的代码库。
archived:falsearchived:false GNOME 匹配未存档且包含单词“GNOME”的代码库。

根据带有good first issuehelp wanted标签的问题数量搜索

您可以使用限定符help-wanted-issues:>ngood-first-issues:>n搜索具有至少一定数量的标记为help-wantedgood-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”的代码库。

根据是否可赞助搜索

您可以使用is:sponsorable限定符搜索其所有者可以在GitHub Sponsors上获得赞助的代码库。有关更多信息,请参阅“关于GitHub Sponsors”。

您可以使用has:funding-file限定符搜索具有资助文件的代码库。有关更多信息,请参阅“在您的代码库中显示赞助按钮”。

限定符示例
is:sponsorableis:sponsorable 匹配其所有者拥有GitHub Sponsors个人资料的代码库。
has:funding-filehas:funding-file 匹配具有FUNDING.yml文件的代码库。

进一步阅读