GitLab에서 검색하기

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

GitLab에는 기본 검색, 고급 검색, 그리고 정확한 코드 검색 세 가지 유형의 검색이 있습니다.

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

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

모든 GitLab에서 검색하거나 특정 프로젝트에서 검색하고 결과를 필터링할 수 있습니다. 검색하는 동안 자동 완성 제안이 입력하는대로 표시됩니다.

글로벌 검색 범위

Tier: Free, Premium, Ultimate Offering: Self-Managed

인스턴스의 글로벌 검색 성능을 개선하기 위해 관리자는 하나 이상의 ops 피처 플래그를 비활성화함으로써 검색 범위를 제한할 수 있습니다.

범위 피처 플래그 설명
코드 global_search_code_tab 활성화되면 글로벌 검색에 코드가 포함됩니다.
커밋 global_search_commits_tab 활성화되면 글로벌 검색에 커밋이 포함됩니다.
에픽 global_search_epics_tab 활성화되면 글로벌 검색에 에픽이 포함됩니다.
이슈 global_search_issues_tab 활성화되면 글로벌 검색에 이슈가 포함됩니다.
Merge Request global_search_merge_requests_tab 활성화되면 글로벌 검색에 Merge Request이 포함됩니다.
사용자 global_search_users_tab 활성화되면 글로벌 검색에 사용자가 포함됩니다.
위키 global_search_wiki_tab 활성화되면 글로벌 검색에 프로젝트 및 그룹 위키가 포함됩니다.

모든 글로벌 검색 범위는 자체 호스팅되는 인스턴스에서 기본적으로 활성화되어 있습니다.

글로벌 검색 유효성 검사

  • 이슈 검색에서 부분 일치 지원이 제거됨으로, 14.9 버전부터 issues_full_text_search이라는 플래그로 비활성화되었습니다. 기본적으로 비활성화됨.
  • GitLab 16.2에서 일반 사용 가능. 피처 플래그 issues_full_text_search이 제거됨.

글로벌 검색은 다음을 포함하는 검색을 무시하고 오용으로 기록합니다:

  • 두 글자보다 적음
  • 100자를 초과하는 용어 (URL 검색 용어는 200자를 초과하면 안 됨)
  • 불용어만 포함 (예: the, and, 또는 if)
  • 알 수 없는 범위
  • 숫자만이 아닌 group_id 또는 project_id
  • Git refname에서 허용되지 않는 특수 문자가 있는 repository_ref 또는 project_ref

글로벌 검색은 오류 표시만 포함하는 결과를 포함하는 검색을 무시하고 오용으로 기록합니다:

  • 4096자를 초과함
  • 64개 이상의 용어

이슈 검색에서 부분 일치는 지원되지 않습니다. 예를 들어, play로 이슈를 검색하면 display를 포함하는 이슈가 반환되지 않습니다. 그러나 쿼리는 문자열의 모든 가능한 변형과 일치합니다 (예: plays).

자동 완성 제안

검색 창에 입력하는 대로 자동 완성 제안이 표시됩니다:

  • 프로젝트 및 그룹
  • 사용자
  • 도움말 페이지
  • 프로젝트 기능 (예: 마일스톤)
  • 설정 (예: 사용자 설정)
  • 최근에 본 Merge Request
  • 최근에 본 이슈 및 에픽
  • 프로젝트의 GitLab Flavored Markdown 참조를 위한 이슈

모든 GitLab에서 검색

모든 GitLab에서 검색하려면:

  1. 왼쪽 사이드바에서 맨 위에 검색 또는 이동을 선택합니다.
  2. 검색 쿼리를 입력합니다. 최소 두 글자 이상 입력해야 합니다.
  3. Enter를 눌러 검색하거나 디렉터리에서 선택합니다.

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

프로젝트에서 검색

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

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 다시 검색 또는 이동을 선택하고 검색하려는 문자열을 입력합니다.
  3. Enter를 눌러 검색하거나 디렉터리에서 선택합니다.

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

전체 경로로 프로젝트 검색

  • 15.9 버전에서 도입됨으로, full_path_project_search라는 플래그로 비활성화되었습니다. 기본적으로 비활성화됨.
  • GitLab 15.11에서 일반 사용 가능. 피처 플래그 full_path_project_search이 제거됨.

프로젝트의 전체 경로(소속된 네임스페이스를 포함한)를 입력하여 프로젝트를 검색할 수 있습니다. 프로젝트 경로를 입력하는 동안 자동 완성 제안이 표시됩니다.

예를 들어:

  • gitlab-org/gitlabgitlab-org 네임스페이스에 속한 gitlab 프로젝트를 검색합니다.
  • gitlab-org/gitlab-org 네임스페이스에 속하는 프로젝트에 대한 자동 완성 제안을 표시합니다.

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

  • 16.1 버전에서 도입됨으로, 프로젝트 검색에 대한 search_projects_hide_archived라는 플래그로 비활성화되었습니다. 기본적으로 비활성화됨.
  • 모든 검색 범위에 대해 GitLab 16.6에서 일반 사용 가능.

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

  1. 검색 페이지에서 왼쪽 사이드바에서 포함된 항목 확인란을 선택합니다.
  2. 왼쪽 사이드바에서 적용을 선택합니다.

코드 검색하기

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

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 다시 검색 또는 이동을 선택하고 검색하려는 코드를 입력합니다.
  3. Enter를 눌러 검색하거나 디렉터리에서 선택합니다.

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

코드 검색 결과에서 Git Blame 보기

검색 결과를 찾은 줄에서 마지막 변경을 한 사람을 확인할 수 있습니다.

  1. 코드 검색 결과에서 행 번호 위에 마우스를 올립니다.
  2. 왼쪽에서 Git Blame 보기를 선택합니다.

코드 검색 결과 필터링하기

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

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

커밋 SHA 검색

커밋 SHA를 검색하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 다시 검색 또는 이동을 선택하고 검색하려는 커밋 SHA를 입력합니다.
  3. 검색하려면 Enter를 누르거나 디렉터리에서 선택합니다.

단일 결과가 반환되면, GitLab은 커밋 결과로 리디렉션하고 검색 결과 페이지로 돌아갈 수 있는 옵션을 제공합니다.

히스토리에서 검색 실행

문제 및 Merge Request을 위한 히스토리에서 검색을 실행할 수 있습니다. 검색 기록은 로컬로 브라우저에 저장됩니다.

히스토리에서 검색을 실행하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 최근 검색 보기:

    • 문제의 경우, Plan > Issues를 선택합니다.
    • Merge Request의 경우, Code > Merge requests를 선택합니다.
  3. 검색 상자 왼쪽에서 최근 검색 ()를 선택합니다.
  4. 드롭다운 디렉터리에서 검색을 선택합니다.