GitHub LFS(대용량 파일 저장소) 저장소를 AWS CodeCommit로 마이그레이션
최근 Git Large File Storage(LFS)를 사용하는 GitHub 저장소를 AWS CodeCommit으로 이전했습니다. 비슷한 작업을 계획 중이라면 제 경험을 바탕으로 한 과정을 공유하려고 합니다. 다음은 단계별 가이드입니다.
사전 준비
시작하기 전에 다음 도구들이 설치되어 있는지 확인하세요:
- Git
- Git LFS
- AWS CLI
단계별 가이드
1. 저장소 클론
먼저, --mirror
옵션을 사용하여 GitHub 저장소를 클론하세요. 이렇게 하면 모든 브랜치와 태그를 포함한 bare 클론이 생성됩니다.
git clone --mirror https://github.com/tanshuai/designs.git designs
2. LFS 파일 확인
다음으로, Git LFS가 관리하는 모든 파일을 나열하여 모든 것이 제자리에 있는지 확인하세요.
git lfs ls-files
아래와 같은 출력이 나타납니다:
cadfa0bc9e * Brochure-Trifold-Draft.ai
af9b8b8a1c * Brochure-Trifold-English.ai
27bb5f4e61 * Brochure-Trifold.ai
3. LFS 파일 마이그레이션
이제 LFS 파일을 내보내세요. 이 단계는 파일이 저장소의 기록에 포함되도록 합니다.
git lfs migrate export --include="*.ai" --everything
다음과 같은 진행 메시지가 표시됩니다:
migrate: Sorting commits: ..., done.
migrate: Rewriting commits: 100% (20/20), done.
master 98a3c48d85... -> 82f8873b41...
migrate: Updating refs: ..., done.
migrate: checkout: ..., done.
prune: 3 local object(s), 0 retained, done.
cadfa0bc9e... (133 MB)
27bb5f4e61... (131 MB)
af9b8b8a1c... (130 MB), done.
prune: Deleting objects: 100% (3/3), done.
4. LFS 정리
Git LFS 추적 정보를 제거하고 Git LFS를 제거하세요.
git lfs ls-files
git rm .gitattributes -f
git lfs uninstall
5. AWS CodeCommit에 푸시
마지막으로, 저장소를 AWS CodeCommit으로 푸시하세요.
git push https://git-codecommit.us-east-2.amazonaws.com/v1/repos/designs --all
이제 완료되었습니다! 이 단계를 따라 GitHub LFS 저장소를 AWS CodeCommit으로 성공적으로 이전했습니다. 대용량 파일과 저장소 기록이 완벽하게 보존되었습니다.
마무리
Git LFS를 사용하는 GitHub 저장소를 AWS CodeCommit으로 이전하는 것은 올바른 단계를 따르면 매우 간단합니다. 질문이 있거나 문제가 발생하면 AWS CodeCommit 문서와 Git LFS 문서를 참조하세요.
이 가이드가 도움이 되길 바랍니다. 즐거운 코딩 되세요!