HOWTO · Git

GitLab에서 그룹을 만들고 프로젝트를 이동하는 방법

GitLab 그룹을 만들고, 공개 범위를 선택한 다음, 프로젝트 설정에서 프로젝트를 전송하고 새 위치를 확인하세요.

이 페이지의 내용

GitLab에서 그룹을 만든 다음 프로젝트 설정에서 프로젝트를 전송하면 접근과 협업을 체계적으로 관리할 수 있습니다. 그룹의 공개 범위를 신중하게 선택하고, GitLab에서 전송을 확인한 뒤, 새 그룹에서 프로젝트를 확인하세요.

GitLab 그룹 만들기

  1. 로그인하고 상단 탐색에서 Groups를 연 다음 Your groups를 선택합니다.
  2. New group를 선택하고 GitLab 인스턴스에 표시되는 그룹 생성 옵션을 선택합니다.
  3. 그룹 이름과 URL 경로를 입력합니다. 경로는 그룹 URL의 일부를 이루므로, 알아보기 쉽고 사용할 수 있는 경로를 선택하세요.
  4. 그룹을 발견하거나 접근할 수 있어야 하는 사람에 맞게 공개 범위를 설정합니다. 만들기 전에 인스턴스의 공개 범위 선택지를 검토하세요. 조직 정책에 따라 제한될 수 있습니다.
  5. 그룹을 만듭니다. 멤버는 지금 초대해도 되고 나중에 초대해도 되며, 필요한 역할만 할당하세요. 그룹 멤버십과 프로젝트 권한이 프로젝트에서 작업할 수 있는 사람을 결정합니다.

그룹을 만들기 전에, 그룹을 사용할 사람들과 이름과 URL 경로를 확인하세요. 경로는 팀원들이 공유할 주소의 일부입니다. 그룹 생성을 자동화할 계획이라면, 지원되는 작업, 필수 필드, 인증, 권한을 확인하기 위해 사용 중인 GitLab 버전의 GitLab Groups API 문서를 참조하세요. 이 가이드는 그룹 생성 API 요청을 제공하거나 검증하지 않습니다.

기존 GitLab 프로젝트를 그룹으로 이동하기

  1. 프로젝트를 열고 Settings > General로 이동합니다.
  2. Advanced를 펼치거나 그 위치까지 스크롤하여 Transfer project를 찾습니다. 정확한 레이블은 GitLab 버전과 권한에 따라 다를 수 있습니다.
  3. 대상 그룹을 선택합니다. 전송이 완료되면 프로젝트 URL이 바뀌므로, 의도한 네임스페이스인지 확인하세요.
  4. 프로젝트 이름을 입력하라는 요청이 있을 수 있는 GitLab의 확인 프롬프트를 따르고, 전송을 제출합니다.
  5. 대상 그룹에서 프로젝트를 열고 새 URL과 네임스페이스를 확인합니다. 전송 옵션이 없거나 대상을 사용할 수 없으면, 그룹 소유자나 인스턴스 관리자에게 본인의 역할과 전송 정책을 검토해 달라고 요청하세요.

자동화를 위해서는 요청을 보내기 전에 사용 중인 GitLab 버전의 GitLab Projects API 문서에서 프로젝트 전송 엔드포인트, 요청 메서드, 페이로드, 인증, 권한 요구 사항을 확인하세요. 요청 형식에 대해서는 문서가 기준입니다. 아래의 Python 예제는 예시용 요청 세부 정보만 조립하고 출력합니다. 샘플 ID와 페이로드는 GitLab 버전 간에 그대로 복사해야 하는 지침이 아닙니다. GitLab에 연결하거나 요청이 수락되는지 검증하지 않습니다:

import json

project_id = 456
group_id = 123
request = {
    "method": "POST",
    "path": f"/api/v4/projects/{project_id}/transfer",
    "json": {"namespace_id": group_id},
}
print(json.dumps(request, sort_keys=True))
{"json": {"namespace_id": 123}, "method": "POST", "path": "/api/v4/projects/456/transfer"}

GitLab이 전송을 확인한 후에는 대상 그룹에서 프로젝트를 다시 열고 네임스페이스와 URL이 새 위치를 반영하는지 확인하세요. 대상 그룹의 공개 범위와 멤버십 설정에 따라 누가 접근할 수 있는지 검토하고, 의도한 공동 작업자가 접근할 수 있는지 확인하세요. 여러 프로젝트를 이동하는 경우, 각 전송을 사용 중인 GitLab 버전의 인터페이스나 API 안내에 따라 처리하세요. 일괄 전송 옵션이 있다고 가정하지 마세요. 팀의 이동 체크리스트의 일부로 프로젝트의 기록, 통합, 접근 권한을 다시 확인하세요.