- 1 搜索仓库
- 2 搜索主题
- 3 搜索议题和拉取请求
- 3.1 仅搜索议题或拉取请求
- 3.2 按标题、正文或评论搜索
- 3.3 在用户或组织的仓库内搜索
- 3.4 按开放或关闭状态搜索
- 3.5 按公共或私有仓库搜索
- 3.6 按作者搜索
- 3.7 按受理人搜索
- 3.8 按提及搜索
- 3.9 按团队提及搜索
- 3.10 按评论者搜索
- 3.11 按议题或拉取请求中涉及的用户搜索
- 3.12 按标签搜索
- 3.13 按里程碑搜索
- 3.14 按项目板搜索
- 3.15 按提交状态搜索
- 3.16 按提交 SHA 搜索
- 3.17 按分支名称搜索
- 3.18 按语言搜索
- 3.19 按评论数量搜索
- 3.20 按交互数量搜索
- 3.21 按反应数量搜索
- 3.22 搜索草稿拉取请求
- 3.23 按拉取请求审查状态和审查者搜索
- 3.24 按议题或拉取请求创建或上次更新的时间搜索
- 3.25 按议题或拉取请求关闭的时间搜索
- 3.26 按拉取请求合并的时间搜索
- 3.27 基于拉取请求是否已合并搜索
- 3.28 基于仓库是否已存档搜索
- 3.29 基于对话是否已锁定搜索
- 3.30 按缺少的元数据搜索
- 4. 搜索代码
- 5 搜索提交
- 6 搜索用户
- 7 packages搜索
- 8 搜索 wiki
- 9 使用可视界面搜索
1 搜索仓库
要在搜索结果中包括复刻,您需要将 fork:true
或 fork: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
jquery in:name repo:jquery/jquery
1.2 在用户或组织的仓库内搜索
要在特定用户或组织拥有的所有仓库中搜索,您可以使用 user
或 org
限定符。
限定符 | 示例 |
---|---|
user:*USERNAME* |
user:defunkt forks:>100 匹配来自 @defunkt、拥有超过 100 复刻的仓库。 |
org:*ORGNAME* |
org:github 匹配来自 GitHub 的仓库。 |
demo
docker org:tencent
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
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
1.5 按复刻数量搜索
forks
限定符使用大于、小于和范围限定符指定仓库应具有的复刻数量。
限定符 | 示例 |
---|---|
forks:*n* |
forks:5 匹配只有 5 个复刻的仓库。 |
forks:>=205 匹配具有至少 205 个复刻的仓库。 | |
forks:<90 匹配具有少于 90 个复刻的仓库。 | |
forks:10..20 匹配具有 10 到 20 个复刻的仓库。 |
demo
springboot forks:>=10000
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
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
1.8 按语言搜索
您可以基于其编写采用的主要语言搜索仓库。
限定符 | 示例 |
---|---|
language:*LANGUAGE* |
rails language:javascript 匹配具有 "rails" 字样、以 JavaScript 编写的仓库。 |
demo
微服务 language:php
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 issue
或 help wanted
标签的议题数量搜索
您可以使用限定符 help-wanted-issues:>n
和 good-first-issues:>n
搜索具有最少数量标签为 help-wanted
或 good-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 上搜索主题、探索相关主题以及查看有多少仓库与特定主题关联。
-
输入主题关键词。
-
在左侧边栏中,要将搜索范围缩小到主题,请单击
Topics(主题)
3 搜索议题和拉取请求
3.1 仅搜索议题或拉取请求
默认情况下,GitHub 搜索将返回议题和拉取请求。 但您可以使用 type
或 is
限定符将搜索结果限制为仅议题或拉取请求。
限定符 | 示例 |
---|---|
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
3.2 按标题、正文或评论搜索
通过 in
限定符,您可以将搜索限制为标题、正文、评论或这些的任意组合。 如果省略此限定符,则标题、正文和评论全部搜索。
限定符 | 示例 |
---|---|
in:title |
warning in:title 匹配其标题中含有 "warning" 的议题。 |
in:body |
error in:title,body 匹配其标题或正文中含有 "error" 的议题。 |
in:comments |
shipit in:comments 匹配其评论中提及 "shipit" 的议题。 |
3.3 在用户或组织的仓库内搜索
要在特定用户或组织拥有的所有仓库中搜索议题和拉取请求,您可以使用 user
或 org
限定符。 要在特定仓库中搜索议题和拉取请求,您可以使用 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 按开放或关闭状态搜索
您可以使用 state
或 is
限定符基于议题和拉取请求处于打开还是关闭状态进行过滤。
限定符 | 示例 |
---|---|
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:public
和 is: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
限定符是单一用户 author
、assignee
、mentions
和 commenter
限定符之间的逻辑 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 在用户或组织的仓库内搜索
要在特定用户或组织拥有的所有仓库中搜索代码,您可以使用 user
或 org
限定符。 要在特定仓库中搜索代码,您可以使用 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 按作者或提交者搜索
您可以使用 author
或 committer
限定符按特定用户查找提交。
限定符 | 示例 |
---|---|
author:*USERNAME* |
author:defunkt 匹配 @defunkt 创作的提交。 |
committer:*USERNAME* |
committer:defunkt 匹配 @defunkt 提交的提交。 |
author-name
和 committer-name
限定符匹配按作者或提交者姓名的提交。
限定符 | 示例 |
---|---|
author-name:*NAME* |
author-name:wanstrath 匹配作者姓名中包含 "wanstrath" 的提交。 |
committer-name:*NAME* |
committer-name:wanstrath 匹配提交者姓名中包含 "wanstrath" 的提交。 |
author-email
和 committer-email
限定符按作者或提交者的完整电子邮件地址匹配提交。
限定符 | 示例 |
---|---|
author-email:*EMAIL* |
author-email:chris@github.com 匹配 chris@github.com 创作的提交。 |
committer-email:*EMAIL* |
committer-email:chris@github.com 匹配 chris@github.com 提交的提交。 |
5.3 按创作或提交日期搜索
使用 author-date
和 committer-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 在用户或组织的仓库内搜索
要在特定用户或组织拥有的所有仓库中搜索提交,请使用 user
或 org
限定符。 要在特定仓库中搜索提交,请使用 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 按帐户名、全名或公共电子邮件搜索
您可以使用 user
或 org
限定符根据个人用户或组织帐户的名称过滤搜索。
通过 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 页面,请使用 user
或 org
限定符。 要从特定仓库中查找 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。
高级搜索 页面 提供用于构建搜索查询的可视界面。 您可以按各种因素过滤搜索,例如仓库具有的星标数或复刻数。 在填写高级搜索字段时,您的查询将在顶部搜索栏中自动构建。
同时搜索 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 仓库搜索”。