Searching in GitLab (FREE ALL)
GitLab has two types of searches available: basic and advanced.
Both types of search are the same, except when you are searching through code.
- When you use basic search to search code, your search includes one project at a time.
- When you use advanced search to search code, your search includes all projects at once.
Global search scopes (FREE SELF)
Introduced in GitLab 14.3.
To improve the performance of your instance's global search, a GitLab administrator
can limit the search scope by disabling the following ops
feature flags.
Scope | Feature flag | Description |
---|---|---|
Code | global_search_code_tab |
When enabled, global search includes code. |
Commits | global_search_commits_tab |
When enabled, global search includes commits. |
Issues | global_search_issues_tab |
When enabled, global search includes issues. |
Merge requests | global_search_merge_requests_tab |
When enabled, global search includes merge requests. |
Users | global_search_users_tab |
When enabled, global search includes users. |
Wiki | global_search_wiki_tab |
When enabled, global search includes project and group wikis. |
All global search scopes are enabled by default on self-managed instances.
Global search validation
Global search ignores and logs as abusive any search with:
- Fewer than two characters
- A term longer than 100 characters (URL search terms must not exceed 200 characters)
- A stop word only (for example,
the
,and
, orif
) - An unknown
scope
-
group_id
orproject_id
that is not completely numeric -
repository_ref
orproject_ref
with special characters not allowed by Git refname
Global search only flags with an error any search that includes more than:
- 4096 characters
- 64 terms
Search in all GitLab
To search in all GitLab:
- On the left sidebar, at the top, select Search GitLab ({search}).
- Type your search query. You must type at least two characters.
- Press Enter to search, or select from the list.
The results are displayed. To filter the results, on the left sidebar, select a filter.
Search in a project
To search in a project:
- On the left sidebar, at the top, select Search GitLab ({search}) to find your project.
- Select Search GitLab ({search}) again and type the string you want to search for.
- Press Enter to search, or select from the list.
The results are displayed. To filter the results, on the left sidebar, select a filter.
Search for code
To search for code in a project:
- On the left sidebar, at the top, select Search GitLab ({search}) to find your project.
- Select Search GitLab ({search}) again and type the code you want to search for.
- Press Enter to search, or select from the list.
Code search shows only the first result in the file. To search for code in all GitLab, ask your administrator to enable advanced search.
View Git blame from code search
Introduced in GitLab 14.7.
After you find search results, you can view who made the last change to the line where the results were found.
- From the code search result, hover over the line number.
- On the left, select View blame.
Filter code search results by language
Introduced in GitLab 15.10.
To filter code search results by one or more languages:
- On the code search page, on the left sidebar, select one or more languages.
- On the left sidebar, select Apply.
Exclude search results
From archived projects
Introduced in GitLab 16.1 with a flag named
search_projects_hide_archived
. Disabled by default.
FLAG:
On self-managed GitLab, by default this feature is not available. To make it available,
an administrator can enable the feature flag named search_projects_hide_archived
. On GitLab.com, this feature is not available.
Archived projects are included in search results by default. To exclude archived projects, ensure the search_projects_hide_archived
flag is enabled.
To include archived projects with search_projects_hide_archived
enabled, you must add the parameter include_archived=true
to the URL.
From issues in archived projects
Introduced in GitLab 16.2 with a flag named
search_issues_hide_archived_projects
. Disabled by default.
FLAG:
On self-managed GitLab, by default this feature is not available. To make it available,
an administrator can enable the feature flag named search_issues_hide_archived_projects
. On GitLab.com, this feature is not available.
Issues in archived projects are included in search results by default. To exclude issues in archived projects, ensure the search_issues_hide_archived_projects
flag is enabled.
To include issues in archived projects with search_issues_hide_archived_projects
enabled, you must add the parameter include_archived=true
to the URL.
Search for a project by full path
- Introduced in GitLab 15.9 with a flag named
full_path_project_search
. Disabled by default.- Generally available in GitLab 15.11. Feature flag
full_path_project_search
removed.
You can search for a project by entering its full path (including the namespace it belongs to) in the search box. As you type the project path, autocomplete suggestions are displayed.
For example:
-
gitlab-org/gitlab
searches for thegitlab
project in thegitlab-org
namespace. -
gitlab-org/
displays autocomplete suggestions for projects that belong to thegitlab-org
namespace.
Search for a commit SHA
To search for a commit SHA:
- On the left sidebar, at the top, select Search GitLab ({search}) to find your project.
- Select Search GitLab ({search}) again and type the commit SHA you want to search for.
- Press Enter to search, or select from the list.
If a single result is returned, GitLab redirects to the commit result and gives you the option to return to the search results page.
Search for specific terms
- Support for partial matches in issue search removed in GitLab 14.9 with a flag named
issues_full_text_search
. Disabled by default.- Generally available in GitLab 16.2. Feature flag
issues_full_text_search
removed.
You can filter issues and merge requests by specific terms included in titles or descriptions.
- Syntax
- Searches look for all the words in a query, in any order. For example: searching
issues for
display bug
returns all issues matching both those words, in any order. - To find the exact term, use double quotes:
"display bug"
.
- Searches look for all the words in a query, in any order. For example: searching
issues for
- Limitation
- For performance reasons, terms shorter than three characters are ignored. For example: searching
issues for
included in titles
is same asincluded titles
- Search is limited to 4096 characters and 64 terms per query.
- When searching issues, partial matches are not allowed. For example: searching for
play
will not return issues that have the worddisplay
. But variations of words match, so searching fordisplays
also returns issues that have the worddisplay
.
- For performance reasons, terms shorter than three characters are ignored. For example: searching
issues for
Run a search from history
You can run a search from history for issues and merge requests. Search history is stored locally in your browser. To run a search from history:
-
On the left sidebar, at the top, select Search GitLab ({search}) to find your project.
-
To view recent searches:
- For issues, on the left sidebar, select Plan > Issues. Above the list, to the left of the search box, select ({history}).
- For merge requests, on the left sidebar, select Code > Merge requests. Above the list, to the left of the search box, select Recent searches.
-
From the dropdown list, select a search.
Remove search filters
Individual filters can be removed by selecting the filter's (x) button or backspacing. The entire search filter can be cleared by selecting the search box's (x) button or via ⌘ (Mac) + ⌫.
To delete filter tokens one at a time, the ⌥ (Mac) / Control + ⌫ keyboard combination can be used.
Autocomplete suggestions
In the search box, you can view autocomplete suggestions for:
- Projects and groups
- Users
- Various help pages (try and type API help)
- Project feature pages (try and type milestones)
- Various settings pages (try and type user settings)
- Recently viewed issues (try and type some word from the title of a recently viewed issue)
- Recently viewed merge requests (try and type some word from the title of a recently viewed merge request)
- Recently viewed epics (try and type some word from the title of a recently viewed epic)
- GitLab Flavored Markdown (GLFM) for issues in a project (try and type a GLFM reference for an issue)
Search settings
You can search inside a Project, Group, Administrator, or User's settings by entering a search term in the search box located at the top of the page. The search results appear highlighted in the sections that match the search term.