파일 관리

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

GitLab UI는 사용자 친화적인 기능을 통해 브라우저에서 Git의 히스토리 및 추적 기능을 확장합니다. 다음과 같은 작업을 수행할 수 있습니다.

  • 파일 검색
  • 파일 처리 변경
  • 전체 파일 또는 단일 라인의 이력 탐색

UI에서 파일 유형 렌더링 방법 이해하기

프로젝트에 이러한 유형의 파일을 추가하면 GitLab은 출력을 렌더링하여 가독성을 향상시킵니다.

  • GeoJSON 파일은 지도로 표시됩니다.
  • Jupyter Notebook 파일은 렌더링된 HTML로 표시됩니다.
  • 많은 마크업 언어의 파일이 표시를 위해 렌더링됩니다.

지원되는 마크업 언어

파일이 다음 파일 확장자 중 하나를 가지고 있다면, GitLab은 파일의 마크업 언어 내용을 UI에서 렌더링합니다.

마크업 언어 확장자
일반 텍스트 txt
Markdown mdown, mkd, mkdn, md, markdown
reStructuredText rst
AsciiDoc adoc, ad, asciidoc
Textile textile
Rdoc rdoc
Org mode org
creole creole
미디어위키 wiki, mediawiki

README 및 index 파일

리포지토리에 README 또는 index 파일이 있는 경우, GitLab은 해당 내용을 렌더링합니다. 이러한 파일은 일반 텍스트이거나 지원되는 마크업 언어의 확장자를 가질 수 있습니다.

  • READMEindex 파일 둘 다 있는 경우 README가 우선순위를 가집니다.
  • 동일한 이름을 가진 여러 파일의 확장자가 다른 경우, 파일은 알파벳순으로 정렬됩니다. GitLab은 다음과 같이 확장자가 없는 파일을 마지막에 정렬합니다.

    1. README.adoc
    2. README.md
    3. README.rst
    4. README.

OpenAPI 파일 렌더링

파일 이름에 openapi 또는 swagger가 포함되어 있고, 확장자가 yaml, yml, 또는 json인 경우 GitLab은 OpenAPI 명세 파일을 렌더링합니다. 다음은 모두 올바른 예시입니다:

  • openapi.yml, openapi.yaml, openapi.json
  • swagger.yml, swagger.yaml, swagger.json
  • OpenAPI.YML, openapi.Yaml, openapi.JSON
  • openapi_gitlab.yml, openapi.gitlab.yml
  • gitlab_swagger.yml
  • gitlab.openapi.yml

OpenAPI 파일을 렌더링하려면:

  1. 리포지토리에서 OpenAPI 파일을 검색합니다.
  2. 렌더링된 파일 표시를 선택합니다.
  3. 작업 목록에서 operationId를 표시하려면 쿼리 문자열에 displayOperationId=true를 추가합니다.

참고: displayOperationId가 쿼리 문자열에 존재하고 어떠한 값이 있으면 true로 평가됩니다. 이 동작은 Swagger의 기본 동작과 일치합니다.

파일의 Git 기록 보기

리포지토리 내 파일에 대한 이력 정보는 GitLab UI에서 사용할 수 있습니다.

  • Git 파일 이력: 전체 파일의 커밋 이력 표시
  • Git blame: 텍스트 기반 파일의 각 라인 및 가장 최근에 라인을 변경한 커밋 표시

파일 검색

  • GitLab 16.11에서 다이얼로그로 변경되었습니다(https://gitlab.com/gitlab-org/gitlab/-/merge_requests/148025).

GitLab UI에서 리포지토리의 파일을 직접 검색하려면 파일 찾기기능을 사용하세요. 파일 찾기기능은 퍼지 검색을 사용하며 입력시 결과를 하이라이트 표시합니다.

파일을 검색하려면 프로젝트 내 어디서든 t를 누르거나:

  1. 왼쪽 사이드바에서 검색 또는 이동하여 프로젝트를 찾습니다.
  2. 코드 > 리포지토리를 선택합니다.
  3. 오른쪽 상단에서 파일 찾기를 선택합니다.
  4. 대화상자에서 파일 이름을 입력합니다:

    파일 찾기 버튼

  5. 옵션. 검색 옵션을 좁히려면 Command + K 혹은 대화상자 오른쪽 하단의 명령을 선택하십시오:
    • 페이지 또는 동작의 경우 > 입력합니다.
    • 사용자의 경우 @를 입력합니다.
    • 프로젝트의 경우 :를 입력합니다.
    • 파일의 경우 ~를 입력합니다.
  6. 드롭다운 목록에서 파일을 선택하여 리포지토리에서 보십시오.

파일 페이지로 돌아가려면 Esc를 누릅니다.

이 기능은 fuzzaldrin-plus 라이브러리를 사용합니다.

Git이 파일 처리하는 방식 변경하기

파일 또는 파일 유형의 기본 처리를 변경하려면 .gitattributes 파일을 만드세요. .gitattributess 파일을 사용하여 다음을 수행할 수 있습니다:

관련 주제

문제 해결

리포지토리 언어: 과도한 CPU 사용

리포지토리 파일의 언어를 결정하려면 GitLab이 Ruby gem을 사용합니다. Gem이 파일 유형을 결정하기 위해 파일을 구문 분석할 때 과도한 CPU를 사용할 수 있습니다. Gem에는 파일 확장자를 구문 분석하기 위해 정의된 휴리스틱 구성 파일이 포함되어 있습니다. 이러한 파일 유형이 과도한 CPU를 사용할 수 있습니다.

  • .txt 확장자를 가진 파일
  • Gem에서 정의되지 않은 확장자를 가진 XML 파일

해당 문제를 해결하려면 .gitattributes 파일을 편집하여 특정 파일 확장자에 언어를 할당하십시오. 이 접근 방식을 사용하여 잘못 식별된 파일 유형을 수정할 수 있습니다:

  1. 지정할 언어를 식별합니다. Gem에는 알려진 데이터 유형에 대한 구성 파일이 포함되어 있습니다.

  2. 예: 텍스트 파일에 대한 항목 추가

    Text:
      type: prose
      wrap: true
      aliases:
      - fundamental
      - plain text
      extensions:
      - ".txt"
    
  3. 리포지토리 루트에 .gitattributes 파일을 추가하거나 편집하십시오:

    *.txt linguist-language=Text
    

*.txt 파일은 휴리스틱 파일에 항목을 가지고 있는데, 이 예제는 파일 파싱을 방지합니다.