GitLab에서 검색
Offering: GitLab Self-Managed
성장하는 코드베이스나 확장되는 조직에서 필요한 내용을 찾아보세요. 코드 검색의 경우 GitLab은 다음 순서로 이러한 유형을 사용합니다: 범위는 검색하는 데이터의 유형을 설명합니다. 검색 유형을 지정하려면 search_type URL 파라미터를 다음과 같이 설정합니다:
성장하는 코드베이스나 확장되는 조직에서 필요한 내용을 찾아보세요. 프로젝트 전반에서 특정 코드, 작업 항목, 머지 리퀘스트 및 기타 콘텐츠를 검색하여 시간을 절약하세요. 필요에 맞는 세 가지 검색 유형 중에서 선택하세요: 기본 검색, 고급 검색, 정확한 코드 검색.
코드 검색의 경우 GitLab은 다음 순서로 이러한 유형을 사용합니다:
- 정확한 코드 검색: 정확한 일치 및 정규 표현식 모드를 사용할 수 있습니다.
- 고급 검색: 정확한 코드 검색을 사용할 수 없는 경우.
- 기본 검색: 정확한 코드 검색과 고급 검색을 모두 사용할 수 없는 경우 또는 기본 브랜치가 아닌 브랜치에서 검색하는 경우. 이 유형은 그룹 또는 글로벌 검색을 지원하지 않습니다.
사용 가능한 범위#
범위는 검색하는 데이터의 유형을 설명합니다. 기본 검색에 사용 가능한 범위는 다음과 같습니다:
| 범위 | 글로벌 1 | 그룹 | 프로젝트 |
|---|---|---|---|
| Code | ❌ | ❌ | ✅ |
| Comments | ❌ | ❌ | ✅ |
| Commits | ❌ | ❌ | ✅ |
| Work items | ✅ | ✅ | ✅ |
| Merge requests | ✅ | ✅ | ✅ |
| Milestones 2 | ✅ | ✅ | ✅ |
| Projects | ✅ | ✅ | ❌ |
| Users | ✅ | ✅ | ✅ |
| Wikis | ❌ | ❌ | ✅ |
각주:
- 관리자는 글로벌 검색 범위를 비활성화할 수 있습니다.
- 글로벌 기본 검색은 그룹 마일스톤이 아닌 프로젝트 마일스톤만 반환합니다.
검색 유형 지정#
히스토리
- GitLab 17.4에서 도입되었습니다.
검색 유형을 지정하려면 search_type URL 파라미터를 다음과 같이 설정합니다:
search_type은 deprecated된 basic_search 파라미터를 대체합니다.
자세한 내용은 이슈 477333을 참조하세요.
검색 액세스 제한#
히스토리
- GitLab 13.4에서 인증된 사용자로 글로벌 검색 제한이
block_anonymous_global_searches라는 플래그와 함께 도입되었습니다. 기본적으로 비활성화되어 있습니다. - GitLab 16.7에서 인증되지 않은 사용자의 검색 허용이
allow_anonymous_searches라는 플래그와 함께 도입되었습니다. 기본적으로 활성화되어 있습니다. - GitLab 17.11에서 인증된 사용자로 글로벌 검색 제한이 일반 사용 가능하게 되었습니다. 기능 플래그
block_anonymous_global_searches가 제거되었습니다. - GitLab 18.0에서 인증되지 않은 사용자의 검색 허용이 일반 사용 가능하게 되었습니다. 기능 플래그
allow_anonymous_searches가 제거되었습니다.
사전 요구 사항:
- 인스턴스에 대한 관리자 권한이 있어야 합니다.
기본적으로 /search 및 글로벌 검색에 대한 요청은 인증되지 않은 사용자에게 사용 가능합니다.
인증된 사용자만 /search를 사용하도록 제한하려면 다음 중 하나를 수행합니다:
-
프로젝트 또는 그룹의 가시성 레벨 제한. 공개 프로젝트가 제한되면 익명 글로벌 검색이 GitLab 로그인 페이지로 리디렉션됩니다.
-
Admin 영역에서 액세스 제한:
- 우측 상단에서 Admin을 선택합니다.
- 왼쪽 사이드바에서 Settings > Search를 선택합니다.
- Advanced search를 펼칩니다.
- Allow unauthenticated users to use search 체크박스를 해제합니다.
- Save changes를 선택합니다.
인증된 사용자만 글로벌 검색을 사용하도록 제한하려면:
- 우측 상단에서 Admin을 선택합니다.
- 왼쪽 사이드바에서 Settings > Search를 선택합니다.
- Visibility and access controls를 펼칩니다.
- Restrict global search to authenticated users only 체크박스를 선택합니다.
- Save changes를 선택합니다.
글로벌 검색 범위 비활성화#
히스토리
- GitLab 17.9에서 도입되었습니다.
사전 요구 사항:
- 인스턴스에 대한 관리자 권한이 있어야 합니다.
인스턴스의 글로벌 검색 성능을 향상시키기 위해 하나 이상의 검색 범위를 비활성화할 수 있습니다. GitLab Self-Managed 인스턴스에서는 모든 글로벌 검색 범위가 기본적으로 활성화되어 있습니다.
하나 이상의 글로벌 검색 범위를 비활성화하려면:
- 우측 상단에서 Admin을 선택합니다.
- 왼쪽 사이드바에서 Settings > Search를 선택합니다.
- Visibility and access controls를 펼칩니다.
- 비활성화할 범위의 체크박스를 해제합니다.
- Save changes를 선택합니다.
기본 검색 범위 구성#
사전 요구 사항:
- 인스턴스에 대한 관리자 권한이 있어야 합니다.
기본적으로 사용자가 검색 범위를 선택하지 않으면 컨텍스트와 가용성에 따라 자동으로 범위가 선택됩니다. 대신 기본 검색 범위를 구성하려면:
- 우측 상단에서 Admin을 선택합니다.
- 왼쪽 사이드바에서 Settings > Search를 선택합니다.
- Visibility and access controls를 펼칩니다.
- Default search scope 드롭다운 목록에서 범위를 선택합니다. 자동 선택의 경우 **System default (automatic)**를 선택합니다.
- Save changes를 선택합니다.
사용자는 다른 범위를 선택하여 기본 범위를 재정의할 수 있습니다. 기본 범위를 사용할 수 없는 경우 (예: 글로벌 검색의 코드) 자동으로 범위가 선택됩니다.
글로벌 검색 유효성 검사#
히스토리
글로벌 검색은 다음을 포함하는 검색을 무시하고 남용으로 기록합니다:
- 두 글자 미만
- 100자를 초과하는 용어 (URL 검색 용어는 200자를 초과하면 안 됩니다)
- 중지 단어만 포함 (예:
the,and또는if) - 알 수 없는
scope - 완전히 숫자가 아닌
group_id또는project_id - Git 참조명에서 허용하지 않는 특수 문자가 있는
repository_ref또는project_ref
글로벌 검색은 다음을 초과하는 검색에 대해서만 오류로 플래그를 지정합니다:
- 4096자
- 64개 용어
이슈 검색에서는 부분 일치가 지원되지 않습니다.
예를 들어 이슈에서 play를 검색하면 display가 포함된 이슈는 반환되지 않습니다.
그러나 쿼리는 문자열의 모든 가능한 변형과 일치합니다 (예: plays).
자동 완성 제안#
히스토리
- GitLab 17.10에서 권한이 부여된 프로젝트 및 그룹의 사용자만 표시가
users_search_scoped_to_authorized_namespaces_advanced_search,users_search_scoped_to_authorized_namespaces_basic_search,users_search_scoped_to_authorized_namespaces_basic_search_by_ids라는 플래그와 함께 도입되었습니다. 기본적으로 비활성화되어 있습니다. - GitLab 17.11에서 일반 사용 가능하게 되었습니다. 기능 플래그
users_search_scoped_to_authorized_namespaces_advanced_search,users_search_scoped_to_authorized_namespaces_basic_search,users_search_scoped_to_authorized_namespaces_basic_search_by_ids가 제거되었습니다.
이 기능의 가용성은 기능 플래그로 제어됩니다. 자세한 내용은 기록을 참조하세요.
검색 상자에 입력하면 다음에 대한 자동 완성 제안이 표시됩니다:
- 프로젝트 및 그룹
- 권한이 부여된 프로젝트 및 그룹의 사용자
- 도움말 페이지
- 프로젝트 기능 (예: 마일스톤)
- 설정 (예: 사용자 설정)
- 최근 본 머지 리퀘스트
- 최근 본 작업 항목
- 프로젝트의 작업 항목에 대한 GitLab Flavored Markdown 참조
모든 GitLab에서 검색#
모든 GitLab에서 검색하려면:
- 상단 표시줄에서 Search or go to를 선택합니다.
- 검색 쿼리를 입력합니다. 최소 두 글자를 입력해야 합니다.
- 검색하려면 Enter를 누르거나 목록에서 선택합니다.
결과가 표시됩니다. 결과를 필터링하려면 왼쪽 사이드바에서 필터를 선택합니다.
프로젝트에서 검색#
프로젝트에서 검색하려면:
- 상단 표시줄에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- Search or go to를 다시 선택하고 검색할 문자열을 입력합니다.
- 검색하려면 Enter를 누르거나 목록에서 선택합니다.
결과가 표시됩니다. 결과를 필터링하려면 왼쪽 사이드바에서 필터를 선택합니다.
검색 결과에 아카이브된 프로젝트 포함#
히스토리
기본적으로 아카이브된 프로젝트는 검색 결과에서 제외됩니다. 검색 결과에 아카이브된 프로젝트를 포함하려면:
- 검색 페이지의 왼쪽 사이드바에서 Include archived 체크박스를 선택합니다.
- 왼쪽 사이드바에서 Apply를 선택합니다.
코드 검색#
프로젝트에서 코드를 검색하려면:
- 상단 표시줄에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- Search or go to를 다시 선택하고 검색할 코드를 입력합니다.
- 검색하려면 Enter를 누르거나 목록에서 선택합니다.
코드 검색은 파일에서 첫 번째 결과만 표시합니다. 모든 GitLab에서 코드를 검색하려면 관리자에게 고급 검색 활성화를 요청하세요.
코드 검색에서 Git blame 보기#
히스토리
- GitLab 14.7에서 도입되었습니다.
검색 결과를 찾은 후 결과가 발견된 줄을 마지막으로 변경한 사람을 볼 수 있습니다.
- 코드 검색 결과에서 줄 번호 위에 마우스를 올립니다.
- 왼쪽에서 View blame을 선택합니다.
언어별 코드 검색 결과 필터링#
히스토리
- GitLab 15.10에서 도입되었습니다.
하나 이상의 언어로 코드 검색 결과를 필터링하려면:
- 코드 검색 페이지의 왼쪽 사이드바에서 하나 이상의 언어를 선택합니다.
- 왼쪽 사이드바에서 Apply를 선택합니다.
커밋 SHA 검색#
커밋 SHA를 검색하려면:
- 상단 표시줄에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- Search or go to를 다시 선택하고 검색할 커밋 SHA를 입력합니다.
- 검색하려면 Enter를 누르거나 목록에서 선택합니다.
단일 결과가 반환되면 GitLab이 커밋 결과로 리디렉션하고 검색 결과 페이지로 돌아갈 수 있는 옵션을 제공합니다.
구문#
기본 검색은 다음 옵션을 사용한 정확한 부분 문자열 일치를 사용합니다:
| 구문 | 설명 | 예시 |
|---|---|---|
filename: |
파일 이름 | filename:*spec.rb |
path: |
리포지터리 위치 (전체 또는 부분 일치) | path:spec/workers/ |
extension: |
. 없는 파일 확장자 (정확한 일치만) |
extension:js |
예시#
| 쿼리 | 설명 |
|---|---|
rails -filename:gemfile.lock |
gemfile.lock 파일을 제외한 모든 파일에서 rails를 반환합니다. |
helper -extension:yml -extension:js |
.yml 또는 .js 확장자를 가진 파일을 제외한 모든 파일에서 helper를 반환합니다. |
helper path:lib/git |
lib/git* 경로를 가진 모든 파일에서 helper를 반환합니다 (예: spec/lib/gitlab). |
