- 스니펫 생성
- 스니펫 탐색
- 스니펫의 기본 가시성 변경
- 버전 관리된 스니펫
- 파일명
- 여러 파일 추가 또는 제거
- 코드 조각 복제
- 코드 조각 임베드
- 코드 조각 다운로드
- 코드 조각에 댓글 작성
- 코드 조각을 스팸으로 표시
- 문제 해결
- 관련 주제
스니펫
GitLab 스니펫을 사용하면 코드와 텍스트 조각을 저장하고 다른 사용자와 공유할 수 있습니다. 스니펫에서 의견을 나눌, 복제할, 그리고 버전 관리를 사용할 수 있습니다. 스니펫에는 여러 파일을 포함할 수도 있습니다. 또한 구문 강조, 임베딩, 다운로드도 지원하며, 스니펫 API를 사용하여 스니펫을 유지할 수 있습니다.
다음과 같은 방법으로 스니펫을 만들고 관리할 수 있습니다.
- GitLab 사용자 인터페이스.
- VS Code용 GitLab Workflow 확장 프로그램.
-
glab
CLI.
GitLab은 두 가지 유형의 스니펫을 제공합니다.
- 개인 스니펫: 프로젝트와는 독립적으로 생성됩니다. 스니펫에 대한 가시성 수준을 설정 할 수 있으며, 공개 또는 비공개로 설정할 수 있습니다.
- 프로젝트 스니펫: 특정 프로젝트와 항상 관련됩니다. 프로젝트 스니펫은 공개적으로 표시되거나 프로젝트 구성원만 볼 수 있습니다.
Internal
가시성 설정은 GitLab.com에서 새로운 프로젝트, 그룹 및
스니펫에 대해 비활성화되었습니다. Internal
가시성 설정을 사용하고 있는 기존 스니펫은
이 설정을 유지합니다. 변경 사항에 대해 더 읽으려면 관련 이슈를 확인하세요.스니펫 생성
개인 또는 프로젝트 스니펫을 만들고자 하는 경우 여러 방법으로 스니펫을 만들 수 있습니다.
- 생성하려는 스니펫 유형을 선택합니다:
-
개인 스니펫을 만들려면 다음 중 하나를 수행하세요:
- 스니펫 대시보드에서 새로 만들기를 선택합니다.
- 프로젝트에서: 왼쪽 사이드바에서 새로 만들기()를 선택합니다. GitLab 내에서 아래에서 새로 만들기를 선택합니다.
- 다른 페이지에서: 왼쪽 사이드바에서 새로 만들기()를 선택한 후 새로 만들기를 선택합니다.
-
glab
CLI에서glab snippet create
명령을 사용합니다. 전체 지침은 해당 명령의 문서를 참조하세요. -
VS Code용 GitLab Workflow 확장 프로그램이 설치되어 있다면,
Gitlab: Create snippet
명령을 사용합니다.
- 프로젝트 스니펫을 만들려면: 프로젝트 페이지로 이동합니다. 새로 만들기()를 선택합니다. 이 프로젝트에서 아래에서 새로 만들기를 선택합니다.
-
개인 스니펫을 만들려면 다음 중 하나를 수행하세요:
- 제목에 제목을 추가합니다.
- 선택 사항. 설명에 스니펫을 설명합니다.
-
파일에서 파일에 적절한 이름과 확장자를 지정합니다(예:
example.rb
또는index.html
). 적절한 확장자가 있는 파일명은 구문 강조를 표시합니다. 파일명을 제공하지 않으면 알려진 복사 붙여넣기 버그가 발생할 수 있습니다. 파일명을 제공하지 않으면 GitLab이 이름을 생성합니다. - 선택 사항. 여러 파일을 스니펫에 추가합니다.
- 가시성 수준을 선택한 후 스니펫 생성을 선택합니다.
스니펫을 만든 후에도 추가 파일을 추가할 수 있습니다. 스니펫은 기본적으로 버전 관리됩니다.
스니펫 탐색
GitLab에서 볼 수 있는 모든 스니펫을 찾으려면 다음을 수행할 수 있습니다.
-
프로젝트 스니펫 보기:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 코드 > 스니펫을 선택합니다.
-
생성한 모든 스니펫 보기:
- 왼쪽 사이드바에서 검색 또는 이동을 선택합니다.
- 내 작업을 선택합니다.
- 스니펫을 선택합니다.
GitLab.com에서는 스니펫을 직접 방문할 수도 있습니다.
-
모든 공개 스니펫 탐색:
- 왼쪽 사이드바에서 검색 또는 이동을 선택합니다.
- 탐색을 선택합니다.
- 스니펫을 선택합니다.
GitLab.com에서는 모든 공개 스니펫을 직접 방문할 수도 있습니다.
스니펫의 기본 가시성 변경
프로젝트 스니펫은 기본적으로 사용이 활성화됩니다. 그들의 기본적인 가시성을 변경하려면:
- 프로젝트에서 설정 > 일반으로 이동합니다.
- 가시성, 프로젝트 기능, 권한 섹션을 확장하고 스니펫로 스크롤합니다.
- 기본 가시성을 전환하고 스니펫을 모든 사람이 볼 수 있게 할 것인지 또는 프로젝트 구성원만 볼 것인지 선택합니다.
- 변경 사항 저장을 선택합니다.
버전 관리된 스니펫
개인 및 프로젝트 스니펫은 기본적으로 버전 관리를 사용합니다.
이것은 모든 스니펫이 만들어질 때 기본 브랜치에서 자체 리포지토리가 초기화된다는 것을 의미합니다. 스니펫을 변경할 때마다 기본 브랜치에 새로운 커밋이 기록됩니다. 커밋 메시지는 자동으로 생성됩니다. 스니펫의 리포지토리에는 하나의 브랜치만 있습니다. 이 브랜치를 삭제하거나 다른 브랜치를 생성할 수 없습니다.
파일명
스니펫은 파일명 및 확장명에 기반한 구문 강조를 지원합니다. 파일명 및 확장명을 제공하지 않고 스니펫을 제출할 수 있지만, 리포지토리의 파일로서의 내용을 만들기 위해서는 유효한 이름이 필요합니다.
스니펫에 파일명과 확장명을 제공하지 않으면, GitLab은 파일명을 snippetfile<x>.txt
형식으로 추가합니다.
여기서 <x>
는 파일에 추가된 번호를 나타내며, 1부터 시작하여 숫자가 증가합니다.
이전 버전의 GitLab에서 13.0으로 업그레이드하는 경우, 지원되는 파일명이 없는 기존 스니펫은 호환되는 형식으로 이름이 변경됩니다.
예를 들어, 스니펫의 파일명이 http://a-weird-filename.me
이면
http-a-weird-filename-me
로 변경되어 스니펫의 리포지토리에 포함됩니다. 스니펫은 ID로 저장되므로 파일명을 변경하면 스니펫에 대한 직접적이거나 포함된 링크가 깨집니다.
여러 파일 추가 또는 제거
단일 코드 조각은 스크립트 및 해당 출력과 같이 연관된 파일을 최대 10개까지 지원하여 관련 파일을 함께 유지할 수 있습니다.
- 스크립트와 해당 출력이 포함된 코드 조각
- HTML, CSS 및 JavaScript 코드가 포함된 코드 조각
-
docker-compose.yml
파일과 관련된.env
파일이 포함된 코드 조각 -
gulpfile.js
파일과package.json
파일은 프로젝트를 초기화하고 의존성을 관리하는 데 사용될 수 있습니다.
코드 조각에 10개 이상의 파일이 필요한 경우 위키를 대신 만들어야 합니다. 위키는 모든 구독 수준의 프로젝트 및 그룹에서 사용할 수 있으며 GitLab Premium에서도 사용할 수 있습니다.
여러 파일이 있는 코드 조각은 코드 조각 목록에 파일 수를 표시합니다:
Git (버전 관리 파일)으로 코드 조각을 관리하거나 코드 조각 API 및 GitLab UI를 통해 처리할 수 있습니다.
GitLab UI를 통해 코드 조각에 새 파일을 추가하려면:
- GitLab UI에서 코드 조각으로 이동합니다.
- 오른쪽 상단의 편집을 선택합니다.
- 다른 파일 추가를 선택합니다.
- 제공된 양식 필드에 콘텐츠를 추가합니다.
- 변경 사항 저장을 선택합니다.
GitLab UI를 통해 코드 조각에서 파일을 삭제하려면:
- GitLab UI에서 코드 조각으로 이동합니다.
- 오른쪽 상단의 편집을 선택합니다.
- 삭제할 각 파일의 파일 이름 옆에 파일 삭제를 선택합니다.
- 변경 사항 저장을 선택합니다.
코드 조각 복제
업데이트를 받으려면 로컬로 복사하는 대신 코드 조각을 복제합니다. 복제하면 코드 조각과 리포지토리가 연결된 상태를 유지할 수 있습니다.
코드 조각을 복제하려면:
- 복제를 선택한 다음 SSH 또는 HTTPS로 복제할 URL을 복사합니다.
변경 사항을 복제된 코드 조각에 커밋하고 GitLab에 변경 사항을 푸시할 수 있습니다.
코드 조각 임베드
공개 코드 조각은 모든 웹사이트에 공유되어 임베드될 수 있습니다. GitLab 코드 조각을 여러 위치에서 재사용할 수 있으며 원본에 대한 모든 변경 사항이 임베드된 코드 조각에 반영됩니다. 임베드된 코드 조각에서 사용자는 해당 코드를 다운로드하거나 원시 형식으로 볼 수 있습니다.
코드 조각을 임베드하려면:
- 코드 조각이 공개로 표시됨을 확인합니다:
- 프로젝트 코드 조각인 경우 프로젝트가 공개여야 합니다.
- 코드 조각은 공개로 표시됩니다.
- 프로젝트에서 설정 > 일반으로 이동합니다. 가시성, 프로젝트 기능, 권한 섹션을 확장한 다음 코드 조각으로 스크롤하여 코드 조각 권한을 모두 접근 가능으로 설정합니다.
-
코드 조각의 임베드 섹션에서 웹사이트 또는 블로그 글에 추가할 수 있는 한 줄 스크립트를 복사하기 위해 복사를 선택합니다. 예:
<script src="https://gitlab.com/namespace/project/snippets/SNIPPET_ID.js"></script>
- 파일에 스크립트를 추가합니다.
임베드된 코드 조각은 다음을 표시하는 헤더가 포함됩니다:
- 파일 이름(정의된 경우)
- 코드 조각 크기
- GitLab 링크
- 실제 코드 조각 콘텐츠
예를 들어:
코드 조각 다운로드
코드 조각의 원시 콘텐츠를 다운로드할 수 있습니다. 기본적으로 Linux 스타일 줄 끝 (LF
)로 다운로드됩니다. 원래 줄 끝을 보존하려면 매개변수 line_ending=raw
를 추가해야 합니다
(예: https://gitlab.com/snippets/SNIPPET_ID/raw?line_ending=raw
). GitLab 웹 인터페이스를 사용하여 코드 조각을 생성한 경우 원래 줄 끝은 Windows 스타일 (CRLF
)입니다.
코드 조각에 댓글 작성
코드 조각을 사용하면 해당 코드 조각에 대한 대화를 진행하여 사용자 협업을 촉진할 수 있습니다.
코드 조각을 스팸으로 표시
Self-managed GitLab 인스턴스의 관리자는 코드 조각을 스팸으로 표시할 수 있습니다.
전제 조건:
- 해당 인스턴스의 관리자여야 합니다.
- 인스턴스에서 Akismet 스팸 보호가 활성화되어 있어야 합니다.
이 작업 수행 방법:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하여 프로젝트를 찾습니다.
- 코드 > 코드 조각을 선택합니다.
- 스팸으로 신고할 코드 조각을 선택합니다.
- 스팸으로 제출을 선택합니다.
GitLab은 스팸을 Akismet으로 전달합니다.
문제 해결
코드 조각 제한사항
- 생성할 수 있는 코드 조각에는 제한이 없습니다.
- 이진 파일은 지원되지 않습니다.
- 브랜치를 생성하거나 삭제할 수 없습니다. 기본 브랜치만 사용됩니다.
- 코드 조각 리포지토리에서 Git 태그는 지원되지 않습니다.
- 코드 조각 리포지토리는 10개의 파일로 제한됩니다. 10개 이상의 파일을 푸시하려고 하면 오류가 발생합니다.
- 사용자는 GitLab UI에서 리비전을 볼 수 없으나 업데이트를 위한 issue가 있습니다.
- 기본 코드 조각의 최대 크기 및 현재(2024-04-17 기준)는 50MB입니다.
- Git LFS는 지원되지 않습니다.
코드 조각 리포지토리 크기 축소
버전 관리되는 코드 조각은 네임스페이스 저장소 크기의 일부로 간주되기 때문에 코드 조각 리포지토리를 가능한 한 컴팩트하게 유지하는 것이 좋습니다.
리포지토리 크기를 축소하는 도구에 대한 자세한 정보는 리포지토리 크기 축소 문서를 참조하세요.
코드 조각 텍스트 상자에 텍스트 입력할 수 없음
파일 이름 필드 뒤의 텍스트 영역이 비활성화되어 새 코드 조각을 만드는 데 방해가 되는 경우 다음 방법을 사용하세요:
- 코드 조각에 제목을 입력합니다.
- 파일 추가를 선택하여 파일 추가 필드 하단으로 스크롤합니다. GitLab은 두 번째 파일을 추가할 수 있는 추가 양식을 표시합니다.
- 두 번째 파일의 파일 이름 필드에 알려진 복사 및 붙여넣기 버그를 피하기 위해 파일 이름을 입력합니다.
- 두 번째 파일의 텍스트 영역에 어떠한 문자열을 입력합니다.
- 첫 번째 파일의 파일 이름으로 스크롤하여 파일 삭제를 선택합니다.
- 나머지 파일을 생성하고 완료되면 코드 조각 생성을 선택합니다.
관련 주제
- 자체 관리 GitLab 인스턴스에서 스니펫 설정 구성