github搜索语法文档

github搜索语法文档_第1张图片

1 搜索仓库

要在搜索结果中包括复刻,您需要将 fork:truefork:only 添加到查询。

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

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

限定符 示例
in:name jquery in:name 匹配其名称中含有 “jquery” 的仓库。
in:description jquery in:name,description 匹配其名称或说明中含有 “jquery” 的仓库。
in:readme jquery in:readme 匹配其自述文件中提及 “jquery” 的仓库。
repo:owner/name repo:octocat/hello-world 匹配特定仓库名称。

demo

jquery in:name

github搜索语法文档_第2张图片

jquery in:name repo:jquery/jquery

github搜索语法文档_第3张图片

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

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

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

demo

docker org:tencent

github搜索语法文档_第4张图片

1.3 按仓库大小搜索

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

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

demo

# 查找关于springboot且大小超过3G的项目
springboot size:>3000000

github搜索语法文档_第5张图片

1.4 按关注者数量搜索

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

限定符 示例
followers:*n* node followers:>=10000 matches repositories with 10,000 or more followers mentioning the word “node”.
styleguide linter followers:1…10 匹配拥有 1 到 10 个关注者并且提及 “styleguide linter” 一词的的仓库。

demo

springboot followers:>=10000

github搜索语法文档_第6张图片

1.5 按复刻数量搜索

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

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

demo

springboot forks:>=10000

github搜索语法文档_第7张图片

1.6 按星号数量搜索

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

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

demo

# 找到名称中包含vue,并且star超过50000的项目
vue stars:>=50000 in:name

github搜索语法文档_第8张图片

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

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

两者均采用日期作为参数。 Date formatting must follow the ISO8601 standard, which is YYYY-MM-DD (year-month-day). You can also add optional time information THH:MM:SS+00:00 after the date, to search by the hour, minute, and second. That’s T, followed by HH:MM:SS (hour-minutes-seconds), and a UTC offset (+00:00).

Dates support greater than, less than, and range qualifiers.

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

demo

springboot created:>=2019-01-03

github搜索语法文档_第9张图片

1.8 按语言搜索

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

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

demo

微服务 language:php

github搜索语法文档_第10张图片

1.9 按主题搜索

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

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

1.10 按主题数量搜索

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

限定符 示例
topics:*n* topics:5 匹配具有五个主题的仓库。
topics:>3 matches repositories that have more than three topics.

1.11 按许可搜索

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

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

1.12 按公共或私有仓库搜索

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

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

1.13 基于仓库是否为镜像搜索

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

1.14 基于仓库是否已存档搜索

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

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

1.15 基于具有 good first issuehelp wanted 标签的议题数量搜索

您可以使用限定符 help-wanted-issues:>ngood-first-issues:>n 搜索具有最少数量标签为 help-wantedgood-first-issue 议题的仓库。 更多信息请参阅“帮助新贡献者找到带标签的项目”。

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

2 搜索主题

您可以在 GitHub 上搜索主题、探索相关主题以及查看有多少仓库与特定主题关联。

  1. 导航到 https://github.com/search。

  2. 输入主题关键词。

    github搜索语法文档_第11张图片

  3. 在左侧边栏中,要将搜索范围缩小到主题,请单击Topics(主题)
    github搜索语法文档_第12张图片

3 搜索议题和拉取请求

3.1 仅搜索议题或拉取请求

默认情况下,GitHub 搜索将返回议题和拉取请求。 但您可以使用 typeis 限定符将搜索结果限制为仅议题或拉取请求。

限定符 示例
type:pr cat type:pr 匹配含有 “cat” 字样的拉取请求。
type:issue github commenter:defunkt type:issue 匹配含有 “github” 字样且由 @defunkt 评论的议题。
is:pr event is:pr 匹配含有 “event” 字样的拉取请求。
is:issue is:issue label:bug is:closed 匹配具有标签 “bug” 的已关闭议题。

demo

springboot type:issue

github搜索语法文档_第13张图片

3.2 按标题、正文或评论搜索

通过 in 限定符,您可以将搜索限制为标题、正文、评论或这些的任意组合。 如果省略此限定符,则标题、正文和评论全部搜索。

限定符 示例
in:title warning in:title 匹配其标题中含有 “warning” 的议题。
in:body error in:title,body 匹配其标题或正文中含有 “error” 的议题。
in:comments shipit in:comments 匹配其评论中提及 “shipit” 的议题。

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

要在特定用户或组织拥有的所有仓库中搜索议题和拉取请求,您可以使用 userorg 限定符。 要在特定仓库中搜索议题和拉取请求,您可以使用 repo 限定符。

限定符 示例
user:*USERNAME* user:defunkt ubuntu 匹配含有 “ubuntu” 字样、来自 @defunkt 拥有的仓库的议题。
org:*ORGNAME* org:github 匹配 GitHub 组织拥有的仓库中的议题。
repo:*USERNAME/REPOSITORY* repo:mozilla/shumway created:<2012-03-01 matches issues from @mozilla’s shumway project that were created before March 2012.

3.4 按开放或关闭状态搜索

您可以使用 stateis 限定符基于议题和拉取请求处于打开还是关闭状态进行过滤。

限定符 示例
state:open libraries state:open mentions:vmg 匹配提及 @vmg 且含有 “libraries” 字样的开放议题。
state:closed design state:closed in:body 匹配正文中含有 “design” 字样的已关闭议题。
is:open performance is:open is:issue 匹配含有 “performance” 字样的开放议题。
is:closed android is:closed 匹配含有 “android” 字样的已关闭议题和拉取请求。

3.5 按公共或私有仓库搜索

如果您在所有 GitHub 内搜索,基于仓库是公共还是私有来过滤结果可能非常有用。 您可以使用 is:publicis:private 实现此操作。

限定符 示例
is:public is:public 匹配所有公共仓库中的议题和拉取请求。
is:private is:private cupcake 匹配您具有访问权限的私有仓库中含有 “cupcake” 字样的议题和拉取请求。

3.6 按作者搜索

author 限定符查找由特定用户或集成帐户创建的议题和拉取请求。

限定符 示例
author:*USERNAME* cool author:gjtorikian 匹配含有 “cool” 字样、由 @gjtorikian 创建的议题和拉取请求。
bootstrap in:body author:mdo 匹配由 @mdo 撰写、正文中含有 “bootstrap” 字样的议题。
author:app/*USERNAME* author:app/robot 匹配由名为 “robot” 的集成帐户创建的议题。

3.7 按受理人搜索

assignee 限定符查找分配给特定用户的议题和拉取请求。 您无法搜索具有 any 受理人的议题和拉取请求,但可以搜索没有受理人的议题和拉取请求。

限定符 示例
assignee:*USERNAME* assignee:vmg repo:libgit2/libgit2 匹配分配给 @vmg 的 libgit2 项目 libgit2 中的议题和拉取请求。

3.8 按提及搜索

mentions 限定符查找提及特定用户的议题。 更多信息请参阅“提及人员和团队”。

限定符 示例
mentions:*USERNAME* resque mentions:defunkt 匹配含有 “resque” 字样、提及 @defunkt 的议题。

3.9 按团队提及搜索

对于您所属的组织和团队,您可以使用 team 限定符查找提及该组织内特定团队的议题或拉取请求。 将这些示例名称替换为您的组织和团队的名称以执行搜索。

限定符 示例
team:*ORGNAME/TEAMNAME* team:jekyll/owners 匹配提及 @jekyll/owners 团队的议题。
team:myorg/ops is:open is:pr 匹配提及 @myorg/ops 团队的打开拉取请求。

3.10 按评论者搜索

commenter 限定符查找含有来自特定用户评论的议题。

限定符 示例
commenter:*USERNAME* github commenter:defunkt org:github 匹配位于 GitHub 拥有的仓库中、含有 “github” 字样且由 @defunkt 评论的议题。

3.11 按议题或拉取请求中涉及的用户搜索

您可以使用 involves 限定符查找以某种方式涉及特定用户的议题。 involves 限定符是单一用户 authorassigneementionscommenter 限定符之间的逻辑 OR(或)。 换句话说,此限定符查找由特定用户创建、分配给该用户、提及该用户或由该用户评论的议题和拉取请求。

限定符 示例
involves:*USERNAME* involves:defunkt involves:jlord 匹配涉及 @defunkt 或 @jlord 的议题。
NOT bootstrap in:body involves:mdo 匹配涉及 @mdo 且正文中未包含 “bootstrap” 字样的议题。

3.12 按标签搜索

您可以使用 label 限定符按标签缩小结果范围。 由于议题可有多个标签,因此您可为每个议题列出单独的限定符。

限定符 示例
label:*LABEL* label:“help wanted” language:ruby 匹配标签为 “help wanted”、位于 Ruby 仓库中的议题。
broken in:body -label:bug label:priority matches issues with the word “broken” in the body, that lack the label “bug”, but do have the label “priority.”
label:bug label:resolved 匹配含有 “bug” 和 “resolved” 标签的议题。

3.13 按里程碑搜索

milestone 限定符查找作为仓库内里程碑组成部分的议题或拉取请求。

限定符 示例
milestone:*MILESTONE* milestone:"overhaul" 匹配位于名为 “overhaul” 的里程碑中的议题。
milestone:"bug fix" 匹配位于名为 “bug fix” 的里程碑中的议题。

3.14 按项目板搜索

您可以使用 project 限定符查找与仓库或组织中特定项目板关联的议题。 必须按项目板编号搜索项目板。 您可在项目板 URL 的末尾找到项目板编号。

限定符 示例
project:*PROJECT_BOARD* project:github/57 匹配 GitHub 拥有的、与组织项目板 57 关联的议题。
project:*REPOSITORY/PROJECT_BOARD* project:github/linguist/1 匹配与 @github 的 linguist 仓库中的项目板 1 关联的议题。

3.15 按提交状态搜索

您可以基于提交的状态过滤拉取请求。 这在使用 Status API 或 CI 服务时特别有用。

限定符 示例
status:pending language:go status:pending 匹配在状态为待定的 Go 仓库中打开的拉取请求。
status:success is:open status:success finally in:body 匹配正文中含有 “finally” 字样、具有成功状态的打开拉取请求。
status:failure created:2015-05-01…2015-05-30 status:failure 匹配在 2015 年 5 月打开、具有失败状态的拉取请求。

3.16 按提交 SHA 搜索

如果您知道提交的特定 SHA 哈希,您可以使用它来搜索包含该 SHA 的拉取请求。 SHA 语法必须至少 7 个字符。

限定符 示例
*SHA* e1109ab 匹配具有开头为 e1109ab 的提交 SHA 的拉取请求。
0eff326d6213c is:merged 匹配具有开头为 0eff326d6213c 的提交 SHA 的合并拉取请求。

3.17 按分支名称搜索

您可以基于拉取请求来自的分支(“head” 分支)或其合并到的分支(“base” 分支)来过滤拉取请求。

限定符 示例
head:*HEAD_BRANCH* head:change is:closed is:unmerged 匹配从名称以 “change” 字样开头的已关闭分支打开的拉取请求。
base:*BASE_BRANCH* base:gh-pages 匹配合并到 gh-pages 分支中的拉取请求。

3.18 按语言搜索

通过 language 限定符,您可以搜索以特定语言编写的仓库内的议题和拉取请求。

限定符 示例
language:*LANGUAGE* language:ruby state:open 匹配 Ruby 仓库中的开放议题。

3.19 按评论数量搜索

您可以使用 comments 限定符以及大于、小于和范围限定符以按评论数量搜索。

限定符 示例
comments:*n* state:closed comments:>100 匹配具有超过 100 条评论的已关闭议题。
comments:500…1000 匹配具有 500 到 1,000 条评论的议题。

3.20 按交互数量搜索

您可以使用 interactions 限定符以及大于、小于和范围限定符按交互数量过滤议题和拉取请求。 交互数量是对议题或拉取请求的反应和评论数量。

限定符 示例
interactions:*n* interactions:>2000 匹配超过 2000 个交互的拉取请求或议题。
interactions:500…1000 匹配 500 至 1,000 个交互的拉取请求或议题。

3.21 按反应数量搜索

您可以使用 reactions 限定符以及 大于、小于和范围限定符按反应数量过滤议题和拉取请求。

限定符 示例
reactions:*n* reactions:>1000 匹配超过 1000 个反应的议题。
reactions:500…1000 匹配 500 至 1000 个反应的议题。

3.22 搜索草稿拉取请求

您可以过滤草稿拉取请求。 更多信息请参阅关于拉取请求。

限定符 示例
is:draft is:draft 匹配草稿拉取请求。

3.23 按拉取请求审查状态和审查者搜索

You can filter pull requests based on their review status (none, required, approved, or changes requested), by reviewer, and by requested reviewer.

限定符 示例
review:none type:pr review:none 匹配尚未审查的拉取请求。
review:required type:pr review:required 匹配需要审查然后才能合并的拉取请求。
review:approved type:pr review:approved 匹配审查者已批准的拉取请求。
review:changes_requested type:pr review:changes_requested 匹配审查者已请求更改的拉取请求。
reviewed-by:*USERNAME* type:pr reviewed-by:gjtorikian 匹配特定人员审查的拉取请求。
review-requested:*USERNAME* type:pr review-requested:benbalter 匹配特定人员申请审查的拉取请求。 申请的审查者在其审查拉取请求后不再在搜索结果中列出。 如果申请的人员在申请审查的团队中,则该团队的审查请求也将在搜索结果中显示。
team-review-requested:*TEAMNAME* type:pr team-review-requested:atom/design 匹配已审查团队 atom/design 请求的拉取请求。 申请的审查者在其审查拉取请求后不再在搜索结果中列出。

3.24 按议题或拉取请求创建或上次更新的时间搜索

您可以基于创建时间或上次更新时间过滤议题。 对于议题创建,您可以使用 created 限定符;要了解议题上次更新的时间,您要使用 updated 限定符。

两者均采用日期作为参数。 Date formatting must follow the ISO8601 standard, which is YYYY-MM-DD (year-month-day). You can also add optional time information THH:MM:SS+00:00 after the date, to search by the hour, minute, and second. That’s T, followed by HH:MM:SS (hour-minutes-seconds), and a UTC offset (+00:00).

Dates support greater than, less than, and range qualifiers.

限定符 示例
created:*YYYY-MM-DD* language:c# created:<2011-01-01 state:open matches open issues that were created before 2011 in repositories written in C#.
updated:*YYYY-MM-DD* weird in:body updated:>=2013-02-01 matches issues with the word “weird” in the body that were updated after February 2013.

3.25 按议题或拉取请求关闭的时间搜索

您可以使用 closed 限定符基于议题和拉取请求关闭的时间进行过滤。

此限定符采用日期作为其参数。 Date formatting must follow the ISO8601 standard, which is YYYY-MM-DD (year-month-day). You can also add optional time information THH:MM:SS+00:00 after the date, to search by the hour, minute, and second. That’s T, followed by HH:MM:SS (hour-minutes-seconds), and a UTC offset (+00:00).

Dates support greater than, less than, and range qualifiers.

限定符 示例
closed:*YYYY-MM-DD* language:swift closed:>2014-06-11 matches issues and pull requests in Swift that were closed after June 11, 2014.
data in:body closed:<2012-10-01 matches issues and pull requests with the word “data” in the body that were closed before October 2012.

3.26 按拉取请求合并的时间搜索

您可以使用 merged 限定符基于拉取请求合并的时间进行过滤。

此限定符采用日期作为其参数。 Date formatting must follow the ISO8601 standard, which is YYYY-MM-DD (year-month-day). You can also add optional time information THH:MM:SS+00:00 after the date, to search by the hour, minute, and second. That’s T, followed by HH:MM:SS (hour-minutes-seconds), and a UTC offset (+00:00).

Dates support greater than, less than, and range qualifiers.

限定符 示例
merged:*YYYY-MM-DD* language:javascript merged:<2011-01-01 matches pull requests in JavaScript repositories that were merged before 2011.
fast in:title language:ruby merged:>=2014-05-01 matches pull requests in Ruby with the word “fast” in the title that were merged after May 2014.

3.27 基于拉取请求是否已合并搜索

您可以使用 is 限定符基于拉取请求已合并还是未合并进行过滤。

限定符 示例
is:merged bugfix is:pr is:merged 匹配含有 “bugfix” 字样的已合并拉取请求。
is:unmerged error is:unmerged 匹配含有 “error” 字样的已关闭议题和拉取请求。

3.28 基于仓库是否已存档搜索

archived 限定符基于议题或拉取请求是否位于已存档仓库中过滤结果。

限定符 示例
archived:true archived:true GNOME 匹配您具有访问权限的已存档仓库中含有 “GNOME” 字样的议题和拉取请求。
archived:false archived:false GNOME 匹配您具有访问权限的未存档仓库中含有 “GNOME” 字样的议题和拉取请求。

3.29 基于对话是否已锁定搜索

您可以使用 is 限定符搜索具有已锁定对话的议题或拉取请求。 更多信息请参阅“锁定对话”。

限定符 示例
is:locked code of conduct is:locked is:issue archived:false 匹配未存档仓库中具有已锁定对话且含有 “code of conduct” 字样的议题或拉取请求。
is:unlocked code of conduct is:unlocked is:issue archived:false 匹配未存档仓库中具有未锁定对话且含有 “code of conduct” 字样的议题或拉取请求。

3.30 按缺少的元数据搜索

您可以使用 no 限定符缩小搜索缺少特定元数据的议题和拉取请求的范围。 该元数据包括:

  • 标签
  • 里程碑
  • 受理人
  • 项目
限定符 示例
no:label priority no:label 匹配没有任何标签且含有 “priority” 字样的议题和拉取请求。
no:milestone sprint no:milestone type:issue 匹配未与含有 “sprint” 字样的里程碑关联的议题。
no:assignee important no:assignee language:java type:issue 匹配未与受理人关联、含有 “important” 字样且位于 Java 仓库中的议题。
no:project build no:project 匹配未与项目板关联、含有 “build” 字样的议题。

4. 搜索代码

4.1 按文件内容或文件路径搜索

使用 in 限定符,您可以将搜索限制为源代码文件的内容、文件路径或两者。 如果省略此限定符,则只搜索文件内容。

限定符 示例
in:file octocat in:file 匹配文件内容中出现 “octocat” 的代码。
in:path octocat in:path 匹配文件路径中出现 “octocat” 的代码。
octocat in:file,path 匹配文件内容或文件路径中出现 “octocat” 的代码。

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

要在特定用户或组织拥有的所有仓库中搜索代码,您可以使用 userorg 限定符。 要在特定仓库中搜索代码,您可以使用 repo 限定符。

限定符 示例
user:*USERNAME* user:defunkt extension:rb matches code from @defunkt that ends in .rb.
org:*ORGNAME* org:github extension:js matches code from GitHub that ends in .js.
repo:*USERNAME/REPOSITORY* repo:mozilla/shumway extension:as matches code from @mozilla’s shumway project that ends in .as.

4.3 按文件位置搜索

您可使用 path 限定符搜索仓库中特定位置显示的源代码。 使用 path:/ 可搜索位于仓库根目录级别的文件。 或者,指定目录名称或目录路径以搜索位于该命令或其任何子目录中的文件。

限定符 示例
path:/ octocat filename:readme path:/ matches readme files with the word “octocat” that are located at the root level of a repository.
path:*DIRECTORY* form path:cgi-bin language:perl matches Perl files with the word “form” in a cgi-bin directory, or in any of its subdirectories.
path:*PATH/TO/DIRECTORY* console path:app/public language:javascript matches JavaScript files with the word “console” in an app/public directory, or in any of its subdirectories (even if they reside in app/public/js/form-validators).

4.4 按语言搜索

您可以基于所编写的语言搜索代码。

限定符 示例
language:*LANGUAGE* element language:xml size:100 匹配标记为 XML 且恰好有 100 个字节的并含有 “element” 字样的代码。
display language:scss 匹配标记为 SCSS 且含有 “display” 字样的代码。
org:mozilla language:markdown 匹配标记为 Markdown 且来自所有 @mozilla 仓库的代码。

4.5 按文件大小搜索

您可以使用 size 限定符基于代码所在文件的大小搜索源代码。 size 限定符使用大于、小于和范围限定符基于在其中找到代码的文件的字节大小来过滤结果。

限定符 示例
size:*n* function size:>10000 language:python 匹配含有 “function” 字样、以 Python 编写、位于大于 10 KB 的文件中的代码。

4.6 按文件名搜索

filename 限定符匹配具有特定文件名的代码文件。 您还可以使用文件查找器在仓库中查找文件。 更多信息请参阅“在 GitHub 上查找文件”。

限定符 示例
filename:*FILENAME* filename:linguist 匹配名为 “linguist” 的文件。
filename:.vimrc commands matches .vimrc files with the word “commands.”
filename:test_helper path:test language:ruby matches Ruby files named test_helper within the test directory.

4.7 按文件扩展名搜索

extension 限定符匹配具有特定文件扩展名的代码文件。

限定符 示例
extension:*EXTENSION* form path:cgi-bin extension:pm matches code with the word “form,” under cgi-bin, with the .pm file extension.
icon size:>200000 extension:css matches files larger than 200 KB that end in .css and have the word “icon.”

5 搜索提交

5.1 在提交消息内搜索

您可以在消息中查找包含特定字词的提交。 例如,fix typo 匹配包含 “fix” 和 “typo” 字样的提交。

5.2 按作者或提交者搜索

您可以使用 authorcommitter 限定符按特定用户查找提交。

限定符 示例
author:*USERNAME* author:defunkt 匹配 @defunkt 创作的提交。
committer:*USERNAME* committer:defunkt 匹配 @defunkt 提交的提交。

author-namecommitter-name 限定符匹配按作者或提交者姓名的提交。

限定符 示例
author-name:*NAME* author-name:wanstrath 匹配作者姓名中包含 “wanstrath” 的提交。
committer-name:*NAME* committer-name:wanstrath 匹配提交者姓名中包含 “wanstrath” 的提交。

author-emailcommitter-email 限定符按作者或提交者的完整电子邮件地址匹配提交。

限定符 示例
author-email:*EMAIL* author-email:[email protected] 匹配 [email protected] 创作的提交。
committer-email:*EMAIL* committer-email:[email protected] 匹配 [email protected] 提交的提交。

5.3 按创作或提交日期搜索

使用 author-datecommitter-date 限定符可匹配指定日期范围内创作或提交的提交。

Dates support greater than, less than, and range qualifiers.

限定符 示例
author-date:*YYYY-MM-DD* author-date:<2016-01-01 匹配 2016-01-01 之前创作的提交。
committer-date:*YYYY-MM-DD* committer-date:>2016-01-01 匹配 2016-01-01 之后提交的提交。

5.4 过滤合并提交

merge 限定符过滤合并提交。

限定符 示例
merge:true merge:true 匹配合并提交。
merge:false merge:false 匹配非合并提交。

5.5 按哈希搜索

hash 限定符匹配具有指定 SHA-1 哈希的提交。

限定符 示例
hash:*HASH* hash:124a9a0ee1d8f1e15e833aff432fbb3b02632105 匹配具有哈希 124a9a0ee1d8f1e15e833aff432fbb3b02632105 的提交。

5.6 按父项搜索

parent 限定符匹配其父项具有指定 SHA-1 哈希的提交。

限定符 示例
parent:*HASH* parent:124a9a0ee1d8f1e15e833aff432fbb3b02632105 匹配具有哈希 124a9a0ee1d8f1e15e833aff432fbb3b02632105 的提交的子项。

5.7 按树搜索

tree 限定符匹配具有指定 SHA-1 git 树哈希的提交。

限定符 示例
tree:*HASH* tree:99ca967 匹配引用树哈希 99ca967 的提交。

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

要在特定用户或组织拥有的所有仓库中搜索提交,请使用 userorg 限定符。 要在特定仓库中搜索提交,请使用 repo 限定符。

限定符 示例
user:*USERNAME* gibberish user:defunkt 匹配 @defunkt 拥有的仓库中含有 “gibberish” 字样的提交消息。
org:*ORGNAME* test org:github 匹配 @github 拥有的仓库中含有 “test” 字样的提交消息。
repo:*USERNAME/REPO* language repo:defunkt/gibberish 匹配 @defunkt 的 “gibberish” 仓库中含有 “language” 字样的提交消息。

5.9 过滤公共或私有仓库

is 限定符匹配公共或私有提交。

限定符 示例
is:public is:public 匹配公共提交。
is:private is:private 匹配私有提交。

6 搜索用户

6.1 仅搜索用户或组织

默认情况下,搜索用户将同时返回个人和组织。 不过,您可以使用 type 限定符将搜索结果限制为仅个人帐户或组织。

限定符 示例
type:user mike in:name created:<2011-01-01 type:user 匹配 2011 年之前创建、名为 “mike” 的个人帐户。
type:org data in:email type:org 匹配其电子邮件中含有 “data” 字样的组织。

6.2 按帐户名、全名或公共电子邮件搜索

您可以使用 userorg 限定符根据个人用户或组织帐户的名称过滤搜索。

通过 in 限定符,您可以将搜索限制为用户名 (login)、全名、公共电子邮件或这些的任意组合。 如果省略此限定符,则只搜索用户名和电子邮件地址。 出于隐私原因,您无法按电子邮件域名搜索。

限定符 示例
user:name user:octocat 匹配用户名为 “octocat” 的用户。
org:name org:electron type:users 匹配 Electron 组织的帐户名。
in:login kenya in:login 匹配其用户名中含 “kenya” 字样的用户。
in:name bolton in:name 匹配其真实姓名含有 “bolton” 字样的用户。
fullname:firstname lastname fullname:nat friedman 匹配全名为 “Nat Friedman” 的用户。注:此搜索限定符区分空格。
in:email data in:email 匹配其电子邮件中含有 “data” 字样的用户。

6.3 按用户拥有的仓库数量搜索

您可以使用 repos 限定符以及大于、小于和范围限定符基于用户拥有的仓库数量过滤用户。

限定符 示例
repos:*n* repos:>9000 matches users whose repository count is over 9,000.
bert repos:10…30 匹配拥有 10 到 30 个仓库、其用户名或真实姓名含有 “bert” 字样的用户。

6.4 按位置搜索

您可以按其个人资料中指示的位置搜索用户。

限定符 示例
location:*LOCATION* repos:1 location:iceland 匹配恰好有一个仓库位于冰岛的用户。

6.5 按仓库语言搜索

使用 language 限定符,您可以基于用户所拥有仓库的语言搜索用户。

限定符 示例
language:*LANGUAGE* language:javascript location:russia 匹配其大多数仓库均以 JavaScript 编写的俄罗斯用户。
jenny language:javascript in:fullname 匹配其全名含有 “jenny” 字样、具有 JavaScript 仓库的用户。

6.6 按用户帐户创建时间搜索

您可以使用 created 限定符基于用户加入 GitHub 的时间过滤用户。 这将采用日期作为其参数。 Date formatting must follow the ISO8601 standard, which is YYYY-MM-DD (year-month-day). You can also add optional time information THH:MM:SS+00:00 after the date, to search by the hour, minute, and second. That’s T, followed by HH:MM:SS (hour-minutes-seconds), and a UTC offset (+00:00).

Dates support greater than, less than, and range qualifiers.

限定符 示例
created:*YYYY-MM-DD* created:<2011-01-01 matches users that joined before 2011.
created:>=2013-05-11 matches users that joined at or after May 11th, 2013.
created:2013-03-06 location:london 匹配 2013 年 3 月 6 日加入、其位置列为伦敦的用户。
created:2010-01-01…2011-01-01 john in:login 匹配在 2010 年与 2011 年之间加入、其用户名中含有 “john” 字样的用户。

6.7 按关注者数量搜索

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

限定符 示例
followers:*n* followers:>=1000 matches users with 1,000 or more followers.
sparkle followers:1…10 匹配具有 1 到 10 个关注者、其名称中含有 “sparkle” 字样的用户。

7 packages搜索

7.1 搜索用户或组织的package

To find packages owned by a certain user or organization, use the user or org qualifier.

限定符 示例
user:*USERNAME* user:codertocat matches packages owned by @codertocat
org:*ORGNAME* org:github matches packages owned by the GitHub organization

7.2 package是公开还是私有

To filter your search by whether a package is public or private, use the is qualifier.

限定符 示例
is:public is:public angular matches public packages that contain the word “angular”
is:private is:private php matches private packages that contain the word “php”

8 搜索 wiki

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

要从特定用户或组织拥有的所有仓库中查找 wiki 页面,请使用 userorg 限定符。 要从特定仓库中查找 wiki 页面,请使用 repo 限定符。

限定符 示例
user:*USERNAME* user:defunkt 匹配来自 @defunkt 拥有的仓库的 wiki 页面。
org:*ORGNAME* org:github 匹配 GitHub 组织拥有的仓库中的 wiki。
repo:*USERNAME/REPOSITORY* repo:defunkt/gibberish 匹配来自 @defunkt 的 “gibberish” 仓库的 wiki 页面。

8.2 在 wiki 页面标题或正文文本中搜索

in 限定符将搜索限制为 wiki 页面标题或正文文本。 如果未使用该限定符,将同时搜索标题和正文文本。

限定符 示例
in:title usage in:title 匹配含有 “usage” 字样的 wiki 页面。
in:body installation in:body 匹配其主要正文文本中含有 “installation” 字样的 wiki 页面。

8.3 按上次更新日期搜索

updated 限定符匹配其上次更新在指定日期范围内的 wiki 页面。

Dates support greater than, less than, and range qualifiers.

限定符 示例
updated:*YYYY-MM-DD* usage updated:>2016-01-01 matches wiki pages with the word “usage” that were last updated after 2016-01-01.

9 使用可视界面搜索

或者,您也可以使用 搜索 页面 或 高级搜索 页面 搜索 GitHub。

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZdiJHXo4-1578020015311)(https://docs.github.com/assets/images/help/search/advanced_search_demo.gif)]

同时搜索 GitHub Enterprise 和 GitHub.com

如果使用 GitHub Enterprise,并且您是使用 GitHub Enterprise Cloud 的 GitHub.com 组织的成员,则 GitHub Enterprise 网站管理员可以启用 GitHub Connect,让您同时搜索两个环境。 更多信息请参阅“在 GitHub Enterprise 与 GitHub.com 之间启用 统一搜索”。

只能从 GitHub Enterprise 搜索这两个环境。 要按环境限制搜索范围,可以使用 高级搜索 页面 上的过滤选项,或者使用 environment: 搜索前缀。 若只搜索 GitHub Enterprise 上的内容,请使用搜索语法 environment:local。 若只搜索 GitHub.com 上的内容,则使用 environment:github

GitHub Enterprise 网站管理员可对连接的 GitHub Enterprise Cloud 组织中的所有公共仓库、私有仓库或特定私有仓库启用 统一搜索。

如果网站管理员在私有仓库中启用 统一搜索,您只能在连接的 GitHub.com 组织中搜索管理员启用了 统一搜索 并且您具有访问权限的私有仓库。 GitHub.com 上的 GitHub Enterprise 管理员和组织所有者无法搜索您的帐户所拥有的私有仓库。 要搜索相关的私有仓库,必须在 GitHub.com 和 GitHub Enterprise 上对您的个人帐户启用私有仓库搜索。 更多信息请参阅“在 GitHub Enterprise 帐户中启用私有 GitHub.com 仓库搜索”。

你可能感兴趣的:(git)