필수 조건
이러한 단계를 따르려면 macOS 또는 Linux 시스템을 사용하고 다음 도구를 설치해야 합니다.
- Mercurial
- Git
- Git 대용량 파일 스토리지 (Git LFS)("Git 대형 파일 스토리지 설치" 참조)
pip
패키지 관리자를 Python
Mercurial 리포지토리 가져오기
-
GitHub Enterprise Server 인스턴스에서 새 리포지토리를 만듭니다. 오류를 방지하려면 새 리포지토리를 ‘추가 정보’, 라이선스 또는 gitignore 파일로 초기화하지 마세요. 프로젝트가 GitHub Enterprise Server에 푸시된 후 이러한 파일을 추가할 수 있습니다. 자세한 내용은 "새 리포지토리 만들기"을(를) 참조하세요.
-
Mercurial이 컴퓨터에 설치되어 있는지 확인하려면
hg --version
을(를) 실행하세요.출력은
Mercurial Distributed SCM (version 6.4)
와(과) 비슷해야 합니다. -
컴퓨터에 Git이 설치되어 있는지 확인하려면
git --version.
을 실행합니다.출력은
git version 2.40.0
과 비슷해야 합니다. -
Git LFS이(가) 컴퓨터에 설치되어 있는지 확인하려면
git lfs --version
을 실행합니다.출력은
git-lfs/3.1.4 (GitHub; darwin arm64; go 1.18.1)
과 비슷해야 합니다. -
pip
이(가) 컴퓨터에 설치되어 있는지 확인하려면pip --version
을(를) 실행하세요.출력은
pip 21.2.4
와(과) 비슷해야 합니다. -
mercurial
Python 패키지를 설치하려면pip install mercurial
을(를) 실행하세요. -
컴퓨터에 대한 빠른 내보내기의 최신 릴리스를 다운로드한 다음, 보관 파일을 추출합니다.
-
추출된 디렉터리로 이동한 다음
./hg-fast-export.sh --help
을(를) 실행합니다.출력은
usage: hg-fast-export.sh
(으)로 시작해야 합니다. -
Mercurial 리포지토리를 복제합니다.
예를 들어 Mercurial 자체의 소스 코드를
mercurial-repo
디렉터리에 복제하려면hg clone https://www.mercurial-scm.org/repo/hg mercurial-repo
을(를) 실행합니다. -
새 디렉터리를 만들고, 새 디렉터리로 이동한 다음, 새 Git 리포지토리를 초기화합니다.
예를 들어 새 리포지토리
mercurial-git
의 이름을 지정하려면mkdir mercurial-git && cd mercurial-git && git init
을(를) 실행합니다. -
새로 만든 Git 리포지토리의 디렉터리로 이동합니다.
-
Mercurial과 동일한 방식으로 파일 이름의 대/소문자를 처리하도록 새 Git 리포지토리를 구성하려면
git config core.ignoreCase false
을(를) 실행합니다. -
Mercurial 프로젝트에서 커밋자 목록을 가져와 목록을
committers.txt
에 저장하려면 다음 스크립트를 실행합니다.Shell hg log --template "{author}\n" | sort | uniq > committers.txt
hg log --template "{author}\n" | sort | uniq > committers.txt
-
committers.txt
파일을 업데이트하고 Mercurial 리포지토리에 사용된 커밋자 이름을 Git 리포지토리에서 사용하려는 이름에 다음 형식을 사용하여 매핑합니다.“The Octocat <octocato@gmail.com>”=”Octocat <octocat@github.com>”
-
초기화된 Git 리포지토리에서
hg-fast-export.sh
을(를) 실행하여 Mercurial 리포지토리로의 경로와committers.txt
파일로의 경로를 인수로 전달합니다.예들 들어
../fast-export-221024/hg-fast-export.sh -r ../mercurial-repo -A ../mercurial-repo/committers.txt -M main
입니다. -
가져오기가 종료되면 새로 만든 Git 리포지토리를 확인하기 위해
git checkout HEAD
을(를) 실행합니다. -
GitHub 리포지토리를 원격 실행
git remote add origin URL
로 추가하려면 먼저 만든 GitHub 리포지토리의 URL을URL
에서https://github.com/octocat/example-repository.git
등으로 바꿔서 실행 합니다. -
리포지토리를 GitHub로 푸시하려면
git push --mirror origin
을 실행합니다.리포지토리에 GitHub Enterprise Server의 파일 크기 제한보다 큰 파일이 포함되어 있으면 푸시가 실패할 수 있습니다.
git lfs import
을 실행하여 대용량 파일을 Git LFS으로 이동한 다음 다시 시도하세요.