GitLab에서 검색하기

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

GitLab에는 기본(basic)고급(advanced) 두 가지 유형의 검색이 있습니다.

두 유형의 검색은 코드를 검색하는 경우를 제외하고는 동일합니다.

  • 기본 검색을 사용하여 코드를 검색하는 경우 검색은 한 번에 한 프로젝트를 포함합니다.
  • 코드를 검색하기 위해 고급 검색을 사용하는 경우 검색은 한꺼번에 모든 프로젝트를 포함합니다.

전역 검색 범위

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

인스턴스의 전역 검색 성능을 향상시키기 위해 관리자는 하나 이상의 ops feature flags를 비활성화하여 검색 범위를 제한할 수 있습니다.

범위 특징 플래그 설명
코드 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 활성화되면 전역 검색에 프로젝트 및 그룹 위키가 포함됩니다.

모든 전역 검색 범위는 Self-managed 인스턴스에서 기본적으로 활성화됩니다.

전역 검색 유효성 검사

  • 이슈 검색에서 부분 일치 지원이 제거되었습니다. GitLab 14.9에서 issues_full_text_search라는 플래그로 비활성화되었습니다. 기본값으로 비활성화됩니다.
  • GitLab 16.2에서 일반적으로 사용 가능해짐(Generally available). 플래그 issues_full_text_search이 제거되었습니다.

전역 검색은 다음을 포함하는 검색을 무시하고 남용으로 기록합니다:

  • 두 글자 미만
  • 100자를 초과하는 용어(URI 검색 용어는 200자를 초과해서는 안 됨)
  • 불용어만 (예: the, and, 또는 if)
  • 알 수 없는 scope
  • 완전히 숫자가 아닌 group_id 또는 project_id
  • Git refname에서 허용되지 않는 특수 문자가 있는 repository_ref 또는 project_ref

전역 검색은 다음을 초과하는 검색만 오류로 플래그 처리합니다:

  • 4096자
  • 64개 이상의 용어

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

자동완성 제안

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

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

GitLab 전체에서 검색

모든 GitLab에서 검색하려면:

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

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

프로젝트에서 검색

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

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

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

전체 경로를 사용하여 프로젝트 검색

  • GitLab 15.9에서 도입됨. 기본값으로 비활성화되는 full_path_project_search라는 플래그와 함께.
  • GitLab 15.11에서 일반적으로 사용 가능해짐(Generally available). full_path_project_search 플래그가 제거되었습니다.

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

예:

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

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

  • GitLab 16.1에서 도입됨. 기본값으로 비활성화되는 프로젝트 검색용 search_projects_hide_archived라는 플래그와 함께.
  • 모든 검색 범위에 대해 GitLab 16.6에서 일반적으로 사용 가능해짐(Generally available).

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

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

코드 검색

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

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

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

코드 검색에서 Git blame 보기

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

  1. 코드 검색 결과에서 라인 번호 위로 마우스를 올립니다.
  2. 왼쪽에서 블레임 보기를 선택합니다.

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

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

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

커밋 SHA로 검색하기

커밋 SHA를 검색하려면:

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

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

히스토리에서 검색 실행하기

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

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

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

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