gitlab에서 작업하던 repository를 github로 옮기기 위해 세 시간이 넘도록 개고생한 결과를 이 블로그에 기록하고자 한다.
나 같은 사람들이 생기지 않도록^^,,,,
나의 경우 그냥 원래 리포지토리에 100MB가 넘는 파일이 올라가 있었는데 깃허브에는 100MB가 넘는 파일을 올릴 수가 없어서 계속 reject를 당했다. 그 부분에 대해서 중점적으로 다룰 것!!
(remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.)
이 에러가 바로 그 에러다.
순서대로 그대로 따라오세요.
웬만하면 빈 폴더를 하나 준비할 것!
그 폴더 안에서
1. 밑의 파일을 넣어둔다.
(미래에 이 글을 보는 사람들에게: 버전이 너무 구버전일 경우 bfg jar 구글에 검색해서 다운로드하세요)
2. 원본 깃에서 파일을 가져온다.
git clone --mirror 원본 깃 주소
3. 100MB짜리 커밋 내역, 파일을 처리한다.
java -jar bfg-1.14.0.jar --no-blob-protection --strip-blobs-bigger-than 100M 다운 받은 git 폴더명
나 같은 경우 여기서 계속 잘 안됐는데 모든 블로그에는 --strip-blobs-bigger-than 이 옵션만 있고
--no-blob-protection이 없어서 안됐다. 스택오버플로우에 구글링 해서 알게 됐다...
그때 났던 에러: these are your protected commits, and so their contents will NOT be altered:
4. git 폴더 안으로 들어간다.
cd 깃 폴더명
5. 아까 처리한 파일을 정리한다.
git reflog expire --expire=now --all && git gc --prune=now --aggressive
6. 처리 내역을 깃에 반영한다.
git push
7. 깃 원격 저장소 이름을 확인한다.
git remote -v
ex)
origin 깃 주소 (fetch)
origin 깃 주소 (push)
=> origin이 이름
8. 새로 옮길 리포지토리를 등록한다.
git remote add [원격저장소 이름] [옮길 깃 주소] //괄호 없어도 됨
*이 이름은 origin이랑 다름
9. 새로 옮길 깃에 파일을 옮긴다.
git push 아까 적은 원격저장소 이름
이 방법을 찾기 위해 얼마나 많은 시간과 블로그를 참고했는지^^,, 여러분들은 제발 이 블로그를 쉽게 발견해서 빠르게 문제를 해결하기를 빌어요...
'Logs' 카테고리의 다른 글
-
[Error] MySQL Data truncation: Data too long for column 'XXX' at row 1 에러 해결하는 법2023.02.22
-
[Adsense] 티스토리 구글 애드센스 승인 받는 법 (feat. 사이트가 다운되었거나 사용할 수 없음)2022.12.14
-
PPT(PowerPoint, 파워포인트) 안에 있는 이미지 파일을 저장하는 방법2022.11.28
-
[Error] 네이버 검색 API: Scope Status Invalid : Authentication failed. (인증에 실패했습니다.) 해결 방법2022.11.24