파일 관리

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
MediaWiki wiki, mediawiki

README 및 인덱스 파일

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

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

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

OpenAPI 파일 렌더링

GitLab은 파일 이름에 openapi 또는 swagger가 포함되고, 확장자가 yaml, yml, 또는 json인 경우 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. 파일 검색
  2. 렌더링된 파일 표시를 선택합니다.
  3. 운영 목록에 operationId를 표시하려면, 쿼리 문자열에 displayOperationId=true를 추가합니다.
note
쿼리 문자열에 displayOperationId가 존재하고 어떤 값이든 경우, 이는 true로 평가됩니다. 이 동작은 Swagger의 기본 동작과 일치합니다.

파일의 Git 기록 보기

저장소의 파일에 대한 역사적 정보는 GitLab UI에서 확인할 수 있습니다:

  • Git 파일 역사: 전체 파일의 커밋 역사를 보여줍니다.
  • Git blame: 텍스트 기반 파일의 각 행과 해당 행을 변경한 최신 커밋을 보여줍니다.

파일 검색하기

  • GitLab 16.11에서 대화 상자로 변경되었습니다. 변경됨.

파일 찾기를 사용하여 GitLab UI에서 직접 저장소의 파일을 검색할 수 있습니다. 파일 찾기는 퍼지 검색을 사용하며 입력하는 대로 결과를 강조합니다.

파일을 검색하려면 프로젝트 내의 아무 곳에서 t를 누르거나:

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

  2. 코드 > 저장소를 선택합니다.

  3. 오른쪽 상단에서 파일 찾기를 선택합니다.

  4. 대화 상자에서 파일 이름을 입력하기 시작합니다:

    파일 찾기 버튼

  5. 선택 사항. 검색 옵션을 좁히고 싶다면, Command + K를 누르거나 대화 상자 오른쪽 하단의 명령을 선택합니다:
    • 페이지 또는 작업에 대해, >를 입력합니다.
    • 사용자에 대해, @를 입력합니다.
    • 프로젝트에 대해, :를 입력합니다.
    • 파일에 대해, ~ 입력합니다.
  6. 드롭다운 목록에서 파일을 선택하여 저장소에서 엽니다.

파일 페이지로 돌아가려면 Esc를 눌러주세요.

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

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

파일 또는 파일 유형에 대한 기본 처리를 변경하려면 .gitattributes 파일을 만듭니다. .gitattributes 파일을 사용하여:

관련 주제

문제 해결

저장소 언어: 과도한 CPU 사용

저장소의 파일에 어떤 언어가 있는지 확인하기 위해 GitLab은 Ruby 젬을 사용합니다.

젬이 파일을 파싱하여 파일 유형을 결정할 때, 프로세스가 과도한 CPU를 사용할 수 있습니다.

젬에는 파싱할 파일 확장자를 정의하는 휴리스틱 구성 파일이 포함되어 있습니다. 이러한 파일 유형은 과도한 CPU를 사용할 수 있습니다:

  • .txt 확장자를 가진 파일.
  • 젬에 의해 정의되지 않은 확장을 가진 XML 파일.

이 문제를 해결하려면, .gitattributes 파일을 수정하고 특정 파일 확장자에 언어를 지정합니다.

잘못 식별된 파일 유형을 수정하는 데도 이 방법을 사용할 수 있습니다:

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

  2. 예를 들어 텍스트 파일에 대한 항목을 추가하려면:

    Text:
      type: prose
      wrap: true
      aliases:
      - fundamental
      - plain text
      extensions:
      - ".txt"
    
  3. 저장소의 루트에 .gitattributes를 추가하거나 수정합니다:

    *.txt linguist-language=Text
    

*.txt 파일은 휴리스틱 파일에 항목이 있습니다. 이 예는 이러한 파일의 파싱을 방지합니다.