InfoGrab DocsInfoGrab Docs

Git URL을 통한 마이그레이션

요약

Git URL을 사용하여 기존 리포지터리를 가져옵니다. UI를 통해 리포지터리를 가져오려면 다음 단계를 수행합니다: 프로젝트 API를 사용하여 Git 리포지터리를 가져올 수 있습니다: 일부 공급자는 비밀번호를 허용하지 않으며 대신 액세스 토큰을 요구합니다.

Git URL을 사용하여 기존 리포지터리를 가져옵니다. 이 방식으로 수행한 가져오기에는 GitLab 이슈나 머지 리퀘스트가 포함되지 않습니다.

사전 요구사항#

  • URL로 리포지터리 가져오기 소스가 활성화되어 있어야 합니다. 활성화되어 있지 않다면 GitLab 관리자에게 활성화를 요청합니다. URL로 리포지터리 가져오기 소스는 GitLab.com에서 기본적으로 활성화되어 있습니다.
  • 가져올 대상 그룹에 대한 Maintainer 또는 Owner 권한.
  • 비공개 리포지터리를 가져오는 경우, 비밀번호 대신 소스 리포지터리에 인증된 방식으로 접근하기 위한 액세스 토큰이 필요할 수 있습니다.

UI를 통해 리포지터리 가져오기#

UI를 통해 리포지터리를 가져오려면 다음 단계를 수행합니다:

  1. 오른쪽 상단 모서리에서 새로 만들기(+)와 새 프로젝트/리포지터리를 선택합니다.
  2. 프로젝트 가져오기를 선택합니다.
  3. URL로 리포지터리를 선택합니다.
  4. Git 리포지터리 URL을 입력합니다.
  5. 나머지 필드를 작성합니다. 비공개 리포지터리에서 가져오려면 사용자 이름과 비밀번호(또는 액세스 토큰)가 필요합니다.
  6. 프로젝트 생성을 선택합니다.

새로 생성된 프로젝트가 표시됩니다.

API를 통해 리포지터리 가져오기#

프로젝트 API를 사용하여 Git 리포지터리를 가져올 수 있습니다:

curl --location "https://gitlab.example.com/api/v4/projects/" \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <your-token>' \
--data-raw '{
    "description": "New project description",
    "path": "new_project_path",
    "import_url": "https://username:password@example.com/group/project.git"
}'

일부 공급자는 비밀번호를 허용하지 않으며 대신 액세스 토큰을 요구합니다.

시간이 초과된 리포지터리 가져오기#

대용량 리포지터리 가져오기는 3시간이 지나면 시간 초과될 수 있습니다. 시간이 초과된 리포지터리를 가져오려면 다음 단계를 수행합니다:

  1. 리포지터리를 복제합니다:

    git clone --mirror https://example.com/group/project.git
    

    --mirror 옵션은 모든 브랜치, 태그, ref가 복사되도록 보장합니다.

  2. 새 원격 리포지터리를 추가합니다:

    cd repository.git
    git remote add new-origin https://gitlab.com/group/project.git
    
  3. 모든 내용을 새 원격 리포지터리로 푸시합니다:

    git push --mirror new-origin
    

관련 주제#

Git URL을 통한 마이그레이션

GitLab v19.4
Tier: Free, Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기

요약

Git URL을 사용하여 기존 리포지터리를 가져옵니다. UI를 통해 리포지터리를 가져오려면 다음 단계를 수행합니다: 프로젝트 API를 사용하여 Git 리포지터리를 가져올 수 있습니다: 일부 공급자는 비밀번호를 허용하지 않으며 대신 액세스 토큰을 요구합니다.

Git URL을 사용하여 기존 리포지터리를 가져옵니다. 이 방식으로 수행한 가져오기에는 GitLab 이슈나 머지 리퀘스트가 포함되지 않습니다.

사전 요구사항#

  • URL로 리포지터리 가져오기 소스가 활성화되어 있어야 합니다. 활성화되어 있지 않다면 GitLab 관리자에게 활성화를 요청합니다. URL로 리포지터리 가져오기 소스는 GitLab.com에서 기본적으로 활성화되어 있습니다.
  • 가져올 대상 그룹에 대한 Maintainer 또는 Owner 권한.
  • 비공개 리포지터리를 가져오는 경우, 비밀번호 대신 소스 리포지터리에 인증된 방식으로 접근하기 위한 액세스 토큰이 필요할 수 있습니다.

UI를 통해 리포지터리 가져오기#

UI를 통해 리포지터리를 가져오려면 다음 단계를 수행합니다:

  1. 오른쪽 상단 모서리에서 새로 만들기(+)와 새 프로젝트/리포지터리를 선택합니다.
  2. 프로젝트 가져오기를 선택합니다.
  3. URL로 리포지터리를 선택합니다.
  4. Git 리포지터리 URL을 입력합니다.
  5. 나머지 필드를 작성합니다. 비공개 리포지터리에서 가져오려면 사용자 이름과 비밀번호(또는 액세스 토큰)가 필요합니다.
  6. 프로젝트 생성을 선택합니다.

새로 생성된 프로젝트가 표시됩니다.

API를 통해 리포지터리 가져오기#

프로젝트 API를 사용하여 Git 리포지터리를 가져올 수 있습니다:

curl --location "https://gitlab.example.com/api/v4/projects/" \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <your-token>' \
--data-raw '{
    "description": "New project description",
    "path": "new_project_path",
    "import_url": "https://username:password@example.com/group/project.git"
}'

일부 공급자는 비밀번호를 허용하지 않으며 대신 액세스 토큰을 요구합니다.

시간이 초과된 리포지터리 가져오기#

대용량 리포지터리 가져오기는 3시간이 지나면 시간 초과될 수 있습니다. 시간이 초과된 리포지터리를 가져오려면 다음 단계를 수행합니다:

  1. 리포지터리를 복제합니다:

    git clone --mirror https://example.com/group/project.git
    

    --mirror 옵션은 모든 브랜치, 태그, ref가 복사되도록 보장합니다.

  2. 새 원격 리포지터리를 추가합니다:

    cd repository.git
    git remote add new-origin https://gitlab.com/group/project.git
    
  3. 모든 내용을 새 원격 리포지터리로 푸시합니다:

    git push --mirror new-origin
    

관련 주제#