대용량 파일 github에 push할 때 생기는 오류 정복하기(feat. git-lfs, bfg)
네이버 지도 api를 사용하던 중.. github에 업도드를 하려니 오류와 마주쳤다!
#문제점
NMapsMap은 용량이 100MB를 넘는다. github은 100M 이상의 파일을 올리려고 하면 오류가 발생한다.
remote: error: this exceeds GitHub's file size limit of 100.00 MB
remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.
#해결방법
git-lfs
를 이용하여 대용량 파일을 추적한다.bfg
를 이용하여 기존 커밋내역에서 대용량 파일 기록을 제거한다.
1. git-lfs
git-lfs
?
- git-lfs는 100MB 이상의 파일이 있을 때 지정한 파일을 작게 조각내어 commit을 할 수 있도록 해주는 것이다.
이를 적용하는 방법은 다음과 같다!
-
업로드를 하고자 하는 파일이 존재하는 Repository로 이동한다.
-
git lfs install
위의 명령어를 통해 lfs를 설치한다.
-
git rm -r --cached "대용량 파일 경로"
만약, 이전에 대용량 파일에 대한 git add 기록이 있다면, unstaging을 통해 git의 추적을 중지한다.
-
git lfs track "대용량 파일 경로"
대용량 파일 경로를 다시 추적한다.
-
add, commit, push
-
git add .gitattributes
lfs로 추적을 하는 파일은
.gitattributes
를 통해 관리되기 때문에 함께add
되어야 한다. -
git add "파일명"
-
git commit -m "커밋메세지"
-
git push origin main
-
2. bfg
하지만! 이미 기존에 대용량 파일을 포함하고 있는 commit을 한 경우, 계속해서 같은 오류가 발생한다. 이 때에는 bfg
를 통해 대용량 기존 커밋 내역에서 대용량 파일의 기록을 제거해 주어야 한다.
-
bfg 설치하기
홈페이지에서 bfg를 다운로드 한다.
https://rtyley.github.io/bfg-repo-cleaner/
or
brew install bfg
를 통해서도 다운받을 수 있다. -
java -jar bfg-1.14.0.jar --strip-blobs-bigger-than 100M
bfg-1.14.0.jar
: 자신이 다운받은 bfg의 버전을 적어주면 된다.🚫 여기에서
Unable to access jarfile bfg-1.14.0.jar
라는 오류가 발생할 수 있다.👉 해결방법은 정확한 경로를 적어주는 것이다.
일반적으로 brew를 통해 받으면,
/usr/local/bin/bfg
라고 한다. 하지만 나의 경우엔 계속 찾을 수 없다고 나와서 홈페이지에서 홈브루를 다운 받은 후, 그 아이콘을 터미널로 가져와서 입력했다. -
Warning : no large blobs matching criteria found in packfiles — does the repo need to be packed?
간혹 100MB 이상의 파일이 없다고 나오는 오류가 발생하기도 한다. 이럴 때에는 다음 명령어를 수행하고, 다시 2번을 입력한다.
git repack && git gc
다시 2번을 실행해서 성공하게 되면, 다음과 같은 문구가 뜬다.
-
git push origin main
이제 정상적으로 올라가는 것을 볼 수 있다.
길고 길었던 대용량 파일 NMapsMap github에 올리기 성공,,!
🔖참고
∙https://wooono.tistory.com/284
∙https://medium.com/@stargt/github에-100mb-이상의-파일을-올리는-방법-9d9e6e3b94ef
∙https://rtyley.github.io/bfg-repo-cleaner/
∙https://stackoverflow.com/questions/32428981/error-unable-to-access-jarfile-bfg-jar-bfg
Author And Source
이 문제에 관하여(대용량 파일 github에 push할 때 생기는 오류 정복하기(feat. git-lfs, bfg)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yoogail/대용량-파일-github에-push할-때-생기는-오류-정복하기feat.-git-lfs-bfg저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)