Help us learn about your current experience with the documentation. Take the survey.

GitLab 中的搜索

  • Tier: Free, Premium, Ultimate
  • Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated

在日益增长的代码库或扩展的组织中找到您需要的内容。 通过在项目中查找特定的代码、问题、合并请求和其他内容来节省时间。 根据您的需求选择三种搜索类型:基础搜索高级搜索精确代码搜索

对于代码搜索,GitLab 按以下顺序使用这些类型:

  • 精确代码搜索:您可以使用精确匹配和正则表达式模式。
  • 高级搜索:当精确代码搜索不可用时。
  • 基础搜索:当精确代码搜索和高级搜索都不可用, 或者当您搜索非默认分支时。 此类型不支持组或全局搜索。

可用范围

范围描述了您正在搜索的数据类型。 基础搜索可用的范围如下:

Scope Global 1 Group Project
Code dash-circle No dash-circle No check-circle-filled Yes
Comments dash-circle No dash-circle No check-circle-filled Yes
Commits dash-circle No dash-circle No check-circle-filled Yes
Epics dash-circle No check-circle-filled Yes dash-circle No
Issues check-circle-filled Yes check-circle-filled Yes check-circle-filled Yes
Merge requests check-circle-filled Yes check-circle-filled Yes check-circle-filled Yes
Milestones check-circle-filled Yes check-circle-filled Yes check-circle-filled Yes
Projects check-circle-filled Yes check-circle-filled Yes dash-circle No
Users check-circle-filled Yes check-circle-filled Yes check-circle-filled Yes
Wikis dash-circle No dash-circle No check-circle-filled Yes

Footnotes:

  1. 管理员可以 禁用全局搜索范围

指定搜索类型

要指定搜索类型,按如下方式设置 search_type URL 参数:

search_type 替代了已弃用的 basic_search 参数。 更多信息,请参见 issue 477333

限制搜索访问

  • Offering: GitLab 自托管版

先决条件:

  • 您必须拥有实例的管理员权限。

默认情况下,对 /search 的请求和全局搜索对未认证用户可用。

要将 /search 限制为仅认证用户,请执行以下操作之一:

  • 为项目或组 限制可见性级别

  • 管理员 区域限制访问:

    1. 在左侧边栏底部,选择 管理员
    2. 选择 设置 > 搜索
    3. 展开 高级搜索
    4. 清除 允许未认证用户使用搜索 复选框。
    5. 选择 保存更改

要将全局搜索限制为仅认证用户:

  1. 在左侧边栏底部,选择 管理员
  2. 选择 设置 > 搜索
  3. 展开 可见性和访问控制
  4. 选择 仅允许认证用户使用全局搜索 复选框。
  5. 选择 保存更改

禁用全局搜索范围

  • Tier: 免费版、高级版、旗舰版
  • Offering: GitLab 自托管版

先决条件:

  • 您必须拥有实例的管理员权限。

为了提高实例全局搜索的性能, 您可以禁用一个或多个搜索范围。 在 GitLab 自托管版实例上,所有全局搜索范围默认都启用。

要禁用一个或多个全局搜索范围:

  1. 在左侧边栏底部,选择 管理员
  2. 选择 设置 > 搜索
  3. 展开 可见性和访问控制
  4. 清除您要禁用的范围的复选框。
  5. 选择 保存更改

全局搜索验证

全局搜索会忽略并记录为滥用任何包含以下内容的搜索:

  • 少于两个字符
  • 超过 100 个字符的术语(URL 搜索术语不得超过 200 个字符)
  • 仅包含停用词(例如 theandif
  • 未知的 scope
  • 不是完全数字的 group_idproject_id
  • 包含 Git refname 不允许的特殊字符的 repository_refproject_ref

全局搜索仅标记包含超过以下内容的搜索为错误:

  • 4096 个字符
  • 64 个术语

问题搜索不支持部分匹配。 例如,当您搜索 play 时,查询不会包含 display 的问题。 但是,查询会匹配该字符串的所有可能变体(例如 plays)。

自动完成建议

此功能的可用性由功能标志控制。 更多信息,请参见历史记录。

当您在搜索框中输入时,会显示以下自动完成建议:

  • 项目 和组
  • 来自授权项目和组的用户
  • 帮助页面
  • 项目功能(例如里程碑)
  • 设置(例如用户设置)
  • 最近查看的合并请求
  • 最近查看的问题和史诗
  • 项目中问题的 GitLab 风味 Markdown 引用

在整个 GitLab 中搜索

要在整个 GitLab 中搜索:

  1. 在左侧边栏,选择 搜索或跳转
  2. 输入您的搜索查询。您必须输入至少两个字符。
  3. Enter 进行搜索,或从列表中选择。

将显示结果。要过滤结果,请在左侧边栏选择一个筛选器。

在项目中搜索

要在项目中搜索:

  1. 在左侧边栏,选择 搜索或跳转 并找到您的项目。
  2. 再次选择 搜索或跳转 并输入您要搜索的字符串。
  3. Enter 进行搜索,或从列表中选择。

将显示结果。要过滤结果,请在左侧边栏选择一个筛选器。

通过完整路径搜索项目

您可以通过在搜索框中输入项目的完整路径(包括其所属的命名空间)来搜索项目。 当您输入项目路径时,会显示 自动完成建议

例如:

  • gitlab-org/gitlab 搜索 gitlab-org 命名空间中的 gitlab 项目。
  • gitlab-org/ 显示属于 gitlab-org 命名空间的项目自动完成建议。

在搜索结果中包含已归档项目

默认情况下,已归档的项目会从搜索结果中排除。 要在搜索结果中包含已归档的项目:

  1. 在搜索页面的左侧边栏,选择 包含已归档 复选框。
  2. 在左侧边栏,选择 应用

搜索代码

要在项目中搜索代码:

  1. 在左侧边栏,选择 搜索或跳转 并找到您的项目。
  2. 再次选择 搜索或跳转 并输入您要搜索的代码。
  3. Enter 进行搜索,或从列表中选择。

代码搜索只显示文件中的第一个结果。 要在整个 GitLab 中搜索代码,请让您的管理员启用 高级搜索

从代码搜索查看 Git blame

找到搜索结果后,您可以查看谁对结果所在行进行了最后一次更改。

  1. 从代码搜索结果中,将鼠标悬停在行号上。
  2. 在左侧,选择 查看 blame

按语言过滤代码搜索结果

要按一种或多种语言过滤代码搜索结果:

  1. 在代码搜索页面的左侧边栏,选择一种或多种语言。
  2. 在左侧边栏,选择 应用

搜索提交 SHA

要搜索提交 SHA:

  1. 在左侧边栏,选择 搜索或跳转 并找到您的项目。
  2. 再次选择 搜索或跳转 并输入您要搜索的提交 SHA。
  3. Enter 进行搜索,或从列表中选择。

如果返回单个结果,GitLab 会重定向到提交结果, 并为您提供返回搜索结果页面的选项。