Repository 기능 | DevSecOps 구축 컨설팅, 교육, 기술지원 서비스 제공

Repository 기능

리포지토리는 GitLab에 코드베이스를 저장하고 버전 제어를 통해 변경하는 데 사용하는 것입니다. 리포지토리는 프로젝트의 일부로서, 다른 많은 기능들을 가지고 있습니다.

리포지토리 만들기#

새 리포지토리를 만들려면 새 프로젝트를 만들거나 기존 프로젝트를 포크(Fork)하기만 하면 됩니다.

새 프로젝트를 생성하면 UI (아래 섹션 참조) 또는 명령 줄(Command Line)을 통해 새 파일을 추가할 수 있습니다. 명령 줄에서 파일을 추가하려면 새 프로젝트를 만들 때 화면에 표시되는 지침을 따르거나 명령 줄 기본 설명서에서 해당 파일을 읽어보십시오.

중요 : 보안상의 이유로 명령 줄을 사용할 때 SSH를 통해 GitLab에 연결하는 것이 좋습니다.

Files#

리포지토리를 사용하여 GitLab에 파일을 저장합니다. GitLab 12.10 이상에서는 리포지토리의 파일 트리에서 확장자에 따라 파일 이름 옆에 아이콘이 표시됩니다.

GitLab Repository 파일 트리 | 인포그랩 GitLab

파일 생성 및 편집#

파일을 GitLab으로 푸시하여 GitLab 저장소에서 코드베이스를 호스팅합니다. 사용자 인터페이스(UI)를 사용하거나 명령 줄을 통해 로컬 컴퓨터를 GitLab에 연결할 수 있습니다.

코드를 빌드, 테스트 및 배포하도록 GitLab CI/CD를 구성하려면 .gitlab-ci.yml이라는 파일을 저장소의 루트에 추가합니다.

사용자 인터페이스에서 :

GitLab의 UI를 사용하면 명령 줄을 건드리지 않고도 많은 Git 명령을 수행할 수 있습니다. 명령 줄을 정기적으로 사용하더라도, GitLab UI를 통해 사용하는 것이 더 쉬운 경우가 있습니다.

  • 파일 생성
  • 파일 업로드
  • 파일 템플릿
  • 디렉터리 생성
  • 병합 요청 시작
  • 파일 기록 찾기
  • 라인별로 변경 사항 식별 (Git blame)

명령 줄에서 :

명령 줄을 시작하려면 명령 줄 기본 문서를 읽어보세요.

파일 찾기#

파일 찾기 기능을 사용하면 GitLab UI를 사용하여 저장소에서 파일을 검색할 수 있습니다.

프로젝트의 Files 섹션에서 Find file 버튼을 찾을 수 있습니다.

GitLab Repository 파일 찾기 | 인포그랩 GitLab

키보드에 손가락을 두는 것을 선호하는 사람들을 위해 프로젝트의 어느 곳에서나 호출할 수 있는 바로가기 버튼도 있습니다.

문제, 병합 요청, 마일스톤, 프로젝트 설정에서도 파일 검색 기능을 실행하려면 t를 누릅니다.

검색하는 내용을 입력하고 마법이 일어나는 것을 지켜보세요. 위/아래 화살표를 사용하여 검색 결과를 위아래로 이동하고, Esc를 사용하여 검색을 닫고 Files로 돌아갑니다.

지원되는 Markup 언어 및 확장자#

GitLab은 저장소의 파일 콘텐츠에 사용할 수 있는 다양한 마크업 언어(경량 마크업 언어라고도 함)를 지원합니다. 대부분 문서화 목적으로 사용됩니다.

파일에 맞는 확장자를 선택하기만 하면 GitLab이 마크업 언어에 따라 파일을 렌더링합니다.

마크업 언어확장자
Plain texttxt
Markdownmdown, mkd, mkdn, md, markdown
reStructuredTextrst
AsciiDocadoc, ad, asciidoc
Textiletextile
Rdocrdoc
Org modeorg
creolecreole
MediaWikiwiki, mediawiki

저장소 README 및 색인 파일#

리포지토리에 README 또는 index 파일이 존재하는 경우, 그 내용을 열지 않고 GitLab에서 자동으로 미리 렌더링 될 것입니다.

일반 텍스트이거나 지원되는 마크업 언어의 확장자를 가질 수 있습니다.

우선순위에 대해 유의해야 할 사항 :

  1. README와 index 파일이 모두 있으면 README이 항상 우선합니다.
  2. 확장자가 서로 다른 파일이 둘 이상 있으면, 항상 우선순위가 가장 높은 확장자가 없는 파일을 제외하고 알파벳 순으로 정렬됩니다. 예를 들어, README.adocREADME.md 보다 우선하고, README.rstREADME 보다 우선합니다.

브랜치 관리

Commits#

변경사항을 커밋하면 해당 변경사항을 브랜치에 도입하게 됩니다. 명령 줄을 통해 푸시하기 전에 여러 번 커밋할 수 있습니다.

  • 커밋 메시지 : 커밋 메시지는 무엇이 변경되고 있는지 그리고, 더 중요한 것은 왜 변경되고 있는지를 식별하는 데 중요합니다. GitLab에서 아래 작업 중 하나를 수행할 커밋 메시지에 키워드를 추가할 수 있습니다.
    • GitLab CI/CD 파이프라인 트리거 : GitLab CI/CD로 프로젝트를 구성한 경우, 커밋이 아닌, 푸시 별로 파이프라인을 트리거합니다.
    • 파이프라인 건너뛰기 : 커밋 메시지에 키워드 [ci skip]를 추가하면 GitLab CI/CD가 해당 파이프라인을 건너뜁니다.
    • 이슈 및 병합 요청 교차 링크 : 교차 링크(Cross-link)는 워크플로우에서 어떤 관련이 있는지 추적하는 데 유용합니다. 커밋 메시지에서 이슈 또는 병합 요청을 언급하면 ​​해당 스레드에 표시됩니다.
  • 커밋 체리픽(cherry-pick) : GitLab에서는 UI에서 바로 커밋을 체리픽할 수 있습니다.
  • 커밋 되돌리기(Revert) : UI에서 선택한 브랜치로 커밋을 쉽게 되돌립니다.
  • 커밋 서명 : GPG를 사용하여 커밋에 서명합니다.

Tags#

태그는 히스토리에서 특정 지점을 중요하다고 표시하는 기능을 제공합니다.

  • 배포 및 릴리즈 표시에 유용합니다.
  • Annotated tag는 Git 이력에서 변경할 수 없는 부분입니다.
  • Soft/ Lightweight tag는 마음대로 설정 및 제거할 수 있습니다.
  • 많은 프로젝트가 주석이 달린 릴리즈 태그를 Stable 브랜치와 결합합니다.
  • 배포/릴리즈 태그를 자동으로 설정하는 것을 고려해 보세요.

Contributors#

코드베이스에 대한 모든 기여자는 프로젝트의 Repository > Contributors 아래에 표시됩니다.

커밋 수가 가장 많은 공동 작업자로부터 가장 적은 수로 정렬되고, 멋진 그래프에 표시됩니다.

GitLab Repository Contribution 그래프 | 인포그랩 GitLab

Graph#

저장소 그래프는 브랜치 및 병합을 포함하여 저장소 네트워크의 기록을 시각적으로 표시합니다. 이를 통해 리포지토리에서 사용되는 Git flow 전략을 시각화할 수 있습니다. 프로젝트의 Repository > Graph 아래에서 확인할 수 있습니다.

GitLab Repository 브랜치 그래프 시각화 | 인포그랩 GitLab

Compare#

저장소에서 브랜치를 비교하려면 :

  1. 프로젝트의 Repository로 이동합니다.
  2. 사이드 바에서 Repository > Compare를 선택합니다.
  3. Branch filter search box를 사용하여 비교할 브랜치를 선택합니다.
  4. 변경사항을 인라인으로 보려면 Compare 버튼을 클릭합니다.
GitLab Repository 브랜치 비교 | 인포그랩 GitLab

깃랩 문서 바로가기