코드 관리 시작하기

GitLab은 코드 작성부터 전달까지의 전체 소프트웨어 개발 수명주기를 위한 도구를 제공합니다.

GitLab에서 코드를 만들고 관리하는 방법에 대해 자세히 알아보세요. 이 프로세스에는 코드 작성, 검토, 버전 관리로 커밋, 시간이 지남에 따른 업데이트가 포함됩니다.

이 프로세스는 더 큰 작업 흐름의 일부입니다:

Workflow

단계 1: 리포지터리 생성

프로젝트는 다른 사람들과 협업하고, 이슈를 추적하며, Merge Request을 관리하고, 많은 다른 기능들 중에 CI/CD 파이프라인을 자동화하는 중앙 집중식 위치입니다.

각 프로젝트에는 코드, 문서, 소프트웨어 개발 작업과 관련된 기타 파일을 저장할 수 있는 리포지터리가 포함되어 있습니다. 리포지터리 내 파일의 변경 사항은 추적되므로 히스토리를 확인할 수 있습니다.

리포지터리는 소스 코드에 대한 버전 관리에 중점을 둠으로써, 프로젝트는 전체 개발 수명주기에 대한 포괄적인 환경을 제공합니다.

자세한 내용은 다음을 참조하세요:

단계 2: 코드 작성

코드를 작성하는 방법과 위치에는 많은 옵션이 있습니다.

GitLab UI를 사용하여 브라우저에서 바로 개발할 수 있습니다. 두 가지 옵션이 있습니다:

  • Web Editor라고 불리는 일반 텍스트 편집기를 사용하여 단일 파일을 편집할 수 있습니다.
  • Web IDE라고 불리는 더 다양한 기능의 편집기를 사용하여 여러 파일을 편집할 수 있습니다.

로컬에서 작업하려면 Git을 사용하여 리포지터리를 컴퓨터로 클론하고 원하는 IDE에서 개발할 수 있습니다. 그런 다음 GitLab 편집기 익스텐션 중 하나를 사용하여 GitLab과 상호작용하는 데 도움을 받을 수 있습니다.

마지막으로 첫 번째 두 옵션을 사용하고 싶지 않다면 원격 개발 환경을 시작하고 클라우드에서 작업할 수 있습니다.

작업 환경을 분리하여 다른 프로젝트들이 서로 간섭하지 않도록 할 수 있습니다.

자세한 내용은 다음을 참조하세요:

단계 3: 변경 사항 저장 및 GitLab에 푸시하기

변경 사항이 준비되면 GitLab에 커밋하여 팀의 다른 구성원들과 공유할 수 있습니다.

변경 사항을 커밋하려면 다음을 복사해야 합니다:

  • 로컬 컴퓨터에서 개인 브랜치로
  • GitLab에서 원격 컴퓨터로, 기본적으로 main 또는 master로 불리는 기본 브랜치에

브랜치 간 파일을 복사하려면 Merge Request을 생성합니다. Merge Request을 만드는 방법은 여러 가지가 있습니다. 이는 주로 코드 작성 위치 및 작성하는 도구에 따라 다릅니다. 그러나 아이디어는 소스 브랜치의 내용을 가져와 대상 브랜치로 Merge 제안을 하는 것입니다.

자세한 내용은 Git을 사용하여 Merge Request 생성 - 파일을 추가, 수정 또는 업로드할 때 UI를 사용하여 Merge Request 생성을 참조하세요.

단계 4: 코드 검토

코드베이스에 변경 사항을 제안하는 Merge Request을 생성한 후에 제안을 검토할 수 있습니다. 코드 검토는 코드 품질과 일관성을 유지하는 데 도움이 되며 팀 구성원 간의 지식 공유의 기회가 됩니다.

Merge Request은 제안된 변경 사항과 Merge하려는 브랜치 사이의 차이를 보여줍니다.

검토자는 변경 사항을 확인하고 특정 코드 라인에 주석을 남길 수 있습니다. 검토자는 차이점에서 직접 변경 사항을 제안할 수도 있습니다.

검토자는 변경 사항을 승인하거나 Merge 전에 추가 변경 사항을 요청할 수 있습니다. GitLab은 검토 상태를 추적하며 필요한 승인을 받기 전에는 Merge을 방지합니다.

자세한 내용은 다음을 참조하세요:

단계 5: Merge Request Merge

변경 사항이 Merge되기 전에 Merge Request은 보통 다른 사람들의 승인을 받아야 하며, 통과하는 CI/CD 파이프라인이 있어야 합니다. 요구 사항은 조직에 맞게 사용자 정의됩니다만, 일반적으로 코드 변경이 조직의 지침을 준수하고 커밋 메시지가 명확하며 연결된 이슈가 있음을 보장합니다.

누군가 다른 사람이 브랜치를 만들었지만 Merge하기 전에 파일을 편집한 경우 Merge 충돌이 발생할 수 있습니다. Merge하기 전에 모든 충돌을 해결해야 합니다.

자세한 내용은 다음을 참조하세요: