InfoGrab DocsInfoGrab Docs

GitLab에서 검색

요약

성장하는 코드베이스나 확장되는 조직에서 필요한 내용을 찾을 수 있습니다. 코드 검색의 경우 GitLab은 다음 순서로 이러한 유형을 사용합니다: 범위는 검색 대상 데이터의 유형을 나타냅니다. 검색 유형을 지정하려면 search_type URL 매개변수를 다음과 같이 설정합니다:

성장하는 코드베이스나 확장되는 조직에서 필요한 내용을 찾을 수 있습니다. 프로젝트 전반에서 특정 코드, 작업 항목, 머지 리퀘스트 및 기타 콘텐츠를 검색하여 시간을 절약합니다. 필요에 맞는 세 가지 검색 유형 중에서 선택합니다: 기본 검색, 고급 검색, 정확한 코드 검색.

코드 검색의 경우 GitLab은 다음 순서로 이러한 유형을 사용합니다:

  • 정확한 코드 검색: 정확한 일치 및 정규 표현식 모드를 사용할 수 있습니다.
  • 고급 검색: 정확한 코드 검색을 사용할 수 없는 경우.
  • 기본 검색: 정확한 코드 검색과 고급 검색을 모두 사용할 수 없는 경우 또는 기본 브랜치가 아닌 브랜치에서 검색하는 경우. 이 유형은 그룹 또는 글로벌 검색을 지원하지 않습니다.

사용 가능한 범위#

히스토리
  • GitLab 19.4에서 elasticsearch_group_search라는 기능 플래그와 함께 Groups 범위 도입. 기본적으로 비활성화됨.
  • GitLab 19.5에서 Groups 범위 일반 공급. 기능 플래그 elasticsearch_group_search 제거됨.

범위는 검색 대상 데이터의 유형을 나타냅니다. 기본 검색에서는 다음 범위를 사용할 수 있습니다:

범위 글로벌1 그룹 프로젝트
Code ❌ ❌ ✅
Comments ❌ ❌ ✅
Commits ❌ ❌ ✅
Groups ✅ ✅ ❌
Work items ✅ ✅ ✅
Merge requests ✅ ✅ ✅
Milestones2 ✅ ✅ ✅
Projects ✅ ✅ ❌
Users ✅ ✅ ✅
Wikis ❌ ❌ ✅

검색 유형 지정#

히스토리

검색 유형을 지정하려면 search_type URL 매개변수를 다음과 같이 설정합니다:

search_type은 더 이상 사용되지 않는 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 영역에서 액세스를 제한합니다:

    1. 오른쪽 위에서 Admin을 선택합니다.
    2. Settings > Search를 선택합니다.
    3. Advanced search를 확장합니다.
    4. Allow unauthenticated users to use search 체크박스를 선택 해제합니다.
    5. Save changes를 선택합니다.

글로벌 검색을 인증된 사용자로만 제한하려면:

  1. 오른쪽 위에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Settings > Search를 선택합니다.
  3. Visibility and access controls를 확장합니다.
  4. Restrict global search to authenticated users only 체크박스를 선택합니다.
  5. Save changes를 선택합니다.

글로벌 검색 범위 비활성화#

히스토리

사전 요구 사항:

  • 인스턴스에 대한 관리자 액세스 권한이 있어야 합니다.

인스턴스의 글로벌 검색 성능을 개선하려면 하나 이상의 검색 범위를 비활성화할 수 있습니다. GitLab Self-Managed 인스턴스에서는 모든 글로벌 검색 범위가 기본적으로 활성화되어 있습니다.

하나 이상의 글로벌 검색 범위를 비활성화하려면:

  1. 오른쪽 위에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Settings > Search를 선택합니다.
  3. Visibility and access controls를 확장합니다.
  4. 비활성화할 범위의 체크박스를 선택 해제합니다.
  5. Save changes를 선택합니다.

기본 검색 범위 구성#

사전 요구 사항:

  • 인스턴스에 대한 관리자 액세스 권한이 있어야 합니다.

기본적으로 사용자가 검색 범위를 선택하지 않으면 컨텍스트와 사용 가능 여부에 따라 범위가 자동으로 선택됩니다. 대신 기본 검색 범위를 구성하려면:

  1. 오른쪽 위에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Settings > Search를 선택합니다.
  3. Visibility and access controls를 확장합니다.
  4. Default search scope 드롭다운 목록에서 범위를 선택합니다. 자동 선택을 사용하려면 **System default (automatic)**을 선택합니다.
  5. 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 제거됨.
Feature flag

이 기능의 사용 가능 여부는 기능 플래그로 제어됩니다. 자세한 내용은 히스토리를 참고합니다.

검색 상자에 입력하면 다음에 대한 자동 완성 제안이 표시됩니다:

  • 프로젝트 및 그룹
  • 권한이 있는 프로젝트와 그룹의 사용자
  • 도움말 페이지
  • 프로젝트 기능 (예: 마일스톤)
  • 설정 (예: 사용자 설정)
  • 최근에 본 머지 리퀘스트
  • 최근에 본 작업 항목
  • 프로젝트의 작업 항목에 대한 GitLab Flavored Markdown 참조

모든 GitLab에서 검색#

모든 GitLab에서 검색하려면:

  1. 상단 바에서 Search or go to를 선택합니다.
  2. 검색어를 입력합니다. 최소 두 글자 이상 입력해야 합니다.
  3. Enter를 눌러 검색하거나 목록에서 선택합니다.

결과가 표시됩니다. 결과를 필터링하려면 왼쪽 사이드바에서 필터를 선택합니다.

프로젝트에서 검색#

프로젝트에서 검색하려면:

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. Search or go to를 다시 선택하고 검색할 문자열을 입력합니다.
  3. Enter를 눌러 검색하거나 목록에서 선택합니다.

결과가 표시됩니다. 결과를 필터링하려면 왼쪽 사이드바에서 필터를 선택합니다.

검색 결과에 아카이브된 프로젝트 포함#

기본적으로 아카이브된 프로젝트는 검색 결과에서 제외됩니다. 검색 결과에 아카이브된 프로젝트를 포함하려면:

  1. 검색 페이지의 왼쪽 사이드바에서 Include archived 체크박스를 선택합니다.
  2. 왼쪽 사이드바에서 Apply를 선택합니다.

코드 검색#

프로젝트에서 코드를 검색하려면:

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. Search or go to를 다시 선택하고 검색할 코드를 입력합니다.
  3. Enter를 눌러 검색하거나 목록에서 선택합니다.

코드 검색은 파일에서 첫 번째 결과만 표시합니다. 모든 GitLab에서 코드를 검색하려면 관리자에게 고급 검색 활성화를 요청합니다.

코드 검색에서 Git blame 보기#

검색 결과를 찾은 후에는 결과가 발견된 줄을 마지막으로 변경한 사람을 확인할 수 있습니다.

  1. 코드 검색 결과에서 줄 번호 위에 마우스를 올립니다.
  2. 왼쪽에서 View blame을 선택합니다.

언어별 코드 검색 결과 필터링#

하나 이상의 언어로 코드 검색 결과를 필터링하려면:

  1. 코드 검색 페이지의 왼쪽 사이드바에서 하나 이상의 언어를 선택합니다.
  2. 왼쪽 사이드바에서 Apply를 선택합니다.

커밋 SHA 검색#

커밋 SHA를 검색하려면:

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. Search or go to를 다시 선택하고 검색할 커밋 SHA를 입력합니다.
  3. 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).

Footnotes

  1. 관리자는 글로벌 검색 범위를 비활성화할 수 있습니다. ↩

GitLab에서 검색

GitLab v19.5
Tier: Free, Premium, Ultimate
Offering: GitLab Self-Managed
원문 보기

요약

성장하는 코드베이스나 확장되는 조직에서 필요한 내용을 찾을 수 있습니다. 코드 검색의 경우 GitLab은 다음 순서로 이러한 유형을 사용합니다: 범위는 검색 대상 데이터의 유형을 나타냅니다. 검색 유형을 지정하려면 search_type URL 매개변수를 다음과 같이 설정합니다:

성장하는 코드베이스나 확장되는 조직에서 필요한 내용을 찾을 수 있습니다. 프로젝트 전반에서 특정 코드, 작업 항목, 머지 리퀘스트 및 기타 콘텐츠를 검색하여 시간을 절약합니다. 필요에 맞는 세 가지 검색 유형 중에서 선택합니다: 기본 검색, 고급 검색, 정확한 코드 검색.

코드 검색의 경우 GitLab은 다음 순서로 이러한 유형을 사용합니다:

  • 정확한 코드 검색: 정확한 일치 및 정규 표현식 모드를 사용할 수 있습니다.
  • 고급 검색: 정확한 코드 검색을 사용할 수 없는 경우.
  • 기본 검색: 정확한 코드 검색과 고급 검색을 모두 사용할 수 없는 경우 또는 기본 브랜치가 아닌 브랜치에서 검색하는 경우. 이 유형은 그룹 또는 글로벌 검색을 지원하지 않습니다.

사용 가능한 범위#

히스토리
  • GitLab 19.4에서 elasticsearch_group_search라는 기능 플래그와 함께 Groups 범위 도입. 기본적으로 비활성화됨.
  • GitLab 19.5에서 Groups 범위 일반 공급. 기능 플래그 elasticsearch_group_search 제거됨.

범위는 검색 대상 데이터의 유형을 나타냅니다. 기본 검색에서는 다음 범위를 사용할 수 있습니다:

범위 글로벌1 그룹 프로젝트
Code ❌ ❌ ✅
Comments ❌ ❌ ✅
Commits ❌ ❌ ✅
Groups ✅ ✅ ❌
Work items ✅ ✅ ✅
Merge requests ✅ ✅ ✅
Milestones2 ✅ ✅ ✅
Projects ✅ ✅ ❌
Users ✅ ✅ ✅
Wikis ❌ ❌ ✅

검색 유형 지정#

히스토리

검색 유형을 지정하려면 search_type URL 매개변수를 다음과 같이 설정합니다:

search_type은 더 이상 사용되지 않는 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 영역에서 액세스를 제한합니다:

    1. 오른쪽 위에서 Admin을 선택합니다.
    2. Settings > Search를 선택합니다.
    3. Advanced search를 확장합니다.
    4. Allow unauthenticated users to use search 체크박스를 선택 해제합니다.
    5. Save changes를 선택합니다.

글로벌 검색을 인증된 사용자로만 제한하려면:

  1. 오른쪽 위에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Settings > Search를 선택합니다.
  3. Visibility and access controls를 확장합니다.
  4. Restrict global search to authenticated users only 체크박스를 선택합니다.
  5. Save changes를 선택합니다.

글로벌 검색 범위 비활성화#

히스토리

사전 요구 사항:

  • 인스턴스에 대한 관리자 액세스 권한이 있어야 합니다.

인스턴스의 글로벌 검색 성능을 개선하려면 하나 이상의 검색 범위를 비활성화할 수 있습니다. GitLab Self-Managed 인스턴스에서는 모든 글로벌 검색 범위가 기본적으로 활성화되어 있습니다.

하나 이상의 글로벌 검색 범위를 비활성화하려면:

  1. 오른쪽 위에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Settings > Search를 선택합니다.
  3. Visibility and access controls를 확장합니다.
  4. 비활성화할 범위의 체크박스를 선택 해제합니다.
  5. Save changes를 선택합니다.

기본 검색 범위 구성#

사전 요구 사항:

  • 인스턴스에 대한 관리자 액세스 권한이 있어야 합니다.

기본적으로 사용자가 검색 범위를 선택하지 않으면 컨텍스트와 사용 가능 여부에 따라 범위가 자동으로 선택됩니다. 대신 기본 검색 범위를 구성하려면:

  1. 오른쪽 위에서 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 Settings > Search를 선택합니다.
  3. Visibility and access controls를 확장합니다.
  4. Default search scope 드롭다운 목록에서 범위를 선택합니다. 자동 선택을 사용하려면 **System default (automatic)**을 선택합니다.
  5. 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 제거됨.
Feature flag

이 기능의 사용 가능 여부는 기능 플래그로 제어됩니다. 자세한 내용은 히스토리를 참고합니다.

검색 상자에 입력하면 다음에 대한 자동 완성 제안이 표시됩니다:

  • 프로젝트 및 그룹
  • 권한이 있는 프로젝트와 그룹의 사용자
  • 도움말 페이지
  • 프로젝트 기능 (예: 마일스톤)
  • 설정 (예: 사용자 설정)
  • 최근에 본 머지 리퀘스트
  • 최근에 본 작업 항목
  • 프로젝트의 작업 항목에 대한 GitLab Flavored Markdown 참조

모든 GitLab에서 검색#

모든 GitLab에서 검색하려면:

  1. 상단 바에서 Search or go to를 선택합니다.
  2. 검색어를 입력합니다. 최소 두 글자 이상 입력해야 합니다.
  3. Enter를 눌러 검색하거나 목록에서 선택합니다.

결과가 표시됩니다. 결과를 필터링하려면 왼쪽 사이드바에서 필터를 선택합니다.

프로젝트에서 검색#

프로젝트에서 검색하려면:

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. Search or go to를 다시 선택하고 검색할 문자열을 입력합니다.
  3. Enter를 눌러 검색하거나 목록에서 선택합니다.

결과가 표시됩니다. 결과를 필터링하려면 왼쪽 사이드바에서 필터를 선택합니다.

검색 결과에 아카이브된 프로젝트 포함#

기본적으로 아카이브된 프로젝트는 검색 결과에서 제외됩니다. 검색 결과에 아카이브된 프로젝트를 포함하려면:

  1. 검색 페이지의 왼쪽 사이드바에서 Include archived 체크박스를 선택합니다.
  2. 왼쪽 사이드바에서 Apply를 선택합니다.

코드 검색#

프로젝트에서 코드를 검색하려면:

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. Search or go to를 다시 선택하고 검색할 코드를 입력합니다.
  3. Enter를 눌러 검색하거나 목록에서 선택합니다.

코드 검색은 파일에서 첫 번째 결과만 표시합니다. 모든 GitLab에서 코드를 검색하려면 관리자에게 고급 검색 활성화를 요청합니다.

코드 검색에서 Git blame 보기#

검색 결과를 찾은 후에는 결과가 발견된 줄을 마지막으로 변경한 사람을 확인할 수 있습니다.

  1. 코드 검색 결과에서 줄 번호 위에 마우스를 올립니다.
  2. 왼쪽에서 View blame을 선택합니다.

언어별 코드 검색 결과 필터링#

하나 이상의 언어로 코드 검색 결과를 필터링하려면:

  1. 코드 검색 페이지의 왼쪽 사이드바에서 하나 이상의 언어를 선택합니다.
  2. 왼쪽 사이드바에서 Apply를 선택합니다.

커밋 SHA 검색#

커밋 SHA를 검색하려면:

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. Search or go to를 다시 선택하고 검색할 커밋 SHA를 입력합니다.
  3. 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).

Footnotes

  1. 관리자는 글로벌 검색 범위를 비활성화할 수 있습니다. ↩