Skip to main content
설명서에 자주 업데이트를 게시하며 이 페이지의 번역이 계속 진행 중일 수 있습니다. 최신 정보는 영어 설명서를 참조하세요.

이 버전의 GitHub Enterprise는 다음 날짜에 중단되었습니다. 2023-03-15. 중요한 보안 문제에 대해서도 패치 릴리스가 이루어지지 않습니다. 성능 향상, 향상된 보안, 새로운 기능을 위해 최신 버전의 GitHub Enterprise로 업그레이드합니다. 업그레이드에 대한 도움말은 GitHub Enterprise 지원에 문의하세요.

관리 셸을 사용하여 다른 버전 제어 시스템에서 가져오기

관리 셸을 사용하여 Subversion, Mercurial 및 Team Foundation 버전 제어 GitHub Enterprise Server의 Git 리포지토리로 가져올 수 있습니다.

이 기능을 사용할 수 있는 사용자

Site administrators can use the administrative shell to import data from other version control systems.

Mercurial에서 프로젝트 가져오기

  1. GitHub Enterprise Server 인스턴스에 SSH합니다. 인스턴스가 여러 노드로 구성된 경우(예: 고가용성 또는 지역 복제가 구성된 경우) 주 노드에 대한 SSH를 수행합니다. 클러스터를 사용하는 경우 임의 노드에 대해 SSH를 수행할 수 있습니다. SSH 액세스에 대한 자세한 내용은 "AUTOTITLE"을 참조하세요.

    $ ssh -p 122 admin@HOSTNAME
  2. 아래 명령으로 원시 복제본을 만들어 원본 프로젝트의 URL 및 임시 리포지토리에 대한 경로를 지정합니다.

    $ git-import-hg-raw HG-CLONE-URL/PATH/REPO-NAME.git
    # Creates a new repository with one or more Git refs in "refs/import/" in the specified path.
  3. /PATH/REPO-NAME.git/git-import/raw-authors.csv에서 쉼표로 구분된(CSV) 파일을 검토합니다. 다음 열을 포함해야 합니다.

    • ID: 원래 리포지토리에 저장된 작성자 및 고유한 식별자
    • NAME: 원래 리포지토리에 저장된 작성자

    원래 리포지토리의 작성자를 이메일 주소 및 이름에 매핑하려면 ID,(ignored),GIT_EMAIL,GIT_NAME 열로 새 CSV 파일을 만듭니다. 여기서 모든 항목에 대한 “ID”별 작성자 정보를 “GIT_EMAIL” 및 “GIT_NAME”으로 바꿉니다.

    예:

    • 원래 작성자 ID: octocat@111111-2222-3333-4444-55555555555

    • 새 이메일 주소: octocat@github.com

    • 새 이름: The Octocat

      원래 작성자를 새 Git 사용자에게 매핑하려면 CSV 파일에 다음 줄이 포함되어야 합니다.

      octocat@111111-2222-3333-4444-55555555555, ,octocat@github.com,The Octocat

  4. CSV 파일을 사용하여 작성자 및 분기를 다시 작성합니다.

    $ git-import-rewrite --flavor hg --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git
  5. 아직 만들지 않은 경우 GitHub Enterprise Server에 새로운 빈 리포지토리를 만듭니다.

  6. 현재 작업 디렉터리를 로컬 리포지토리로 변경합니다.

  7. 가져온 리포지토리를 GitHub Enterprise Server에 푸시합니다.

    $ git push --mirror PUSH-URL-ON-GITHUB-ENTERPRISE

Subversion에서 프로젝트 가져오기

  1. GitHub Enterprise Server 인스턴스에 SSH합니다. 인스턴스가 여러 노드로 구성된 경우(예: 고가용성 또는 지역 복제가 구성된 경우) 주 노드에 대한 SSH를 수행합니다. 클러스터를 사용하는 경우 임의 노드에 대해 SSH를 수행할 수 있습니다. SSH 액세스에 대한 자세한 내용은 "AUTOTITLE"을 참조하세요.

    $ ssh -p 122 admin@HOSTNAME
  2. 아래 명령으로 원시 복제본을 만들어 원본 프로젝트의 URL 및 임시 리포지토리에 대한 경로를 지정합니다.

    $ git-import-svn-raw SVN-CLONE-URL /PATH/REPO-NAME.git
    # Creates a new repository with one or more Git refs in "refs/import/" in the specified path.
  3. /PATH/REPO-NAME.git/git-import/raw-authors.csv에서 쉼표로 구분된(CSV) 파일을 검토합니다. 다음 열을 포함해야 합니다.

    • ID: 원래 리포지토리에 저장된 작성자 및 고유한 식별자
    • NAME: 원래 리포지토리에 저장된 작성자

    원래 리포지토리의 작성자를 이메일 주소 및 이름에 매핑하려면 ID,(ignored),GIT_EMAIL,GIT_NAME 열로 새 CSV 파일을 만듭니다. 여기서 모든 항목에 대한 “ID”별 작성자 정보를 “GIT_EMAIL” 및 “GIT_NAME”으로 바꿉니다.

    예:

    • 원래 작성자 ID: octocat@111111-2222-3333-4444-55555555555

    • 새 이메일 주소: octocat@github.com

    • 새 이름: The Octocat

      원래 작성자를 새 Git 사용자에게 매핑하려면 CSV 파일에 다음 줄이 포함되어야 합니다.

      octocat@111111-2222-3333-4444-55555555555, ,octocat@github.com,The Octocat

  4. CSV 파일을 사용하여 작성자 및 분기를 다시 작성합니다.

    $ git-import-rewrite --flavor svn --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git
  5. 아직 만들지 않은 경우 GitHub Enterprise Server에 새로운 빈 리포지토리를 만듭니다.

  6. 현재 작업 디렉터리를 로컬 리포지토리로 변경합니다.

  7. 가져온 리포지토리를 GitHub Enterprise Server에 푸시합니다.

    $ git push --mirror PUSH-URL-ON-GITHUB-ENTERPRISE

Team Foundation 버전 제어에서 프로젝트 가져오기

  1. GitHub Enterprise Server 인스턴스에 SSH합니다. 인스턴스가 여러 노드로 구성된 경우(예: 고가용성 또는 지역 복제가 구성된 경우) 주 노드에 대한 SSH를 수행합니다. 클러스터를 사용하는 경우 임의 노드에 대해 SSH를 수행할 수 있습니다. SSH 액세스에 대한 자세한 내용은 "AUTOTITLE"을 참조하세요.

    $ ssh -p 122 admin@HOSTNAME
  2. 아래 명령으로 원시 복제본을 만들어 원본 프로젝트의 URL 및 임시 리포지토리에 대한 경로를 지정합니다.

    $ git-import-tfs-raw TEAM-FOUNDATION-CLONE-URL /PATH/REPO-NAME.git
    # Creates a new repository with one or more Git refs in "refs/import/" in the specified path.
  3. /PATH/REPO-NAME.git/git-import/raw-authors.csv에서 쉼표로 구분된(CSV) 파일을 검토합니다. 다음 열을 포함해야 합니다.

    • ID: 원래 리포지토리에 저장된 작성자 및 고유한 식별자
    • NAME: 원래 리포지토리에 저장된 작성자

    원래 리포지토리의 작성자를 이메일 주소 및 이름에 매핑하려면 ID,(ignored),GIT_EMAIL,GIT_NAME 열로 새 CSV 파일을 만듭니다. 여기서 모든 항목에 대한 “ID”별 작성자 정보를 “GIT_EMAIL” 및 “GIT_NAME”으로 바꿉니다.

    예:

    • 원래 작성자 ID: octocat@111111-2222-3333-4444-55555555555

    • 새 이메일 주소: octocat@github.com

    • 새 이름: The Octocat

      원래 작성자를 새 Git 사용자에게 매핑하려면 CSV 파일에 다음 줄이 포함되어야 합니다.

      octocat@111111-2222-3333-4444-55555555555, ,octocat@github.com,The Octocat

  4. CSV 파일을 사용하여 작성자 및 분기를 다시 작성합니다.

    $ git-import-rewrite --flavor tfs --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO_NAME.git
  5. 아직 만들지 않은 경우 GitHub Enterprise Server에 새로운 빈 리포지토리를 만듭니다.

  6. 현재 작업 디렉터리를 로컬 리포지토리로 변경합니다.

  7. 가져온 리포지토리를 GitHub Enterprise Server에 푸시합니다.

    $ git push --mirror PUSH-URL-ON-GITHUB-ENTERPRISE

추가 참고 자료