1. 문제상황

100MB를 넘는 파일을 push하려고 하면, 다음과 같은 에러가 발생한다.

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.

이를 해결하기 위해서는 유료 github 계정을 구입해야하는데, 그렇지 않고 해결할 수 있는 방법을 소개한다.



2. 해결방법

2-1) 대용량 파일을 커밋하기 전인 경우

git lfs를 사용하여 대용량 파일을 추적한다.

  • git lfs?

    100MB가 넘는 대용량 파일이 있을 떄 해당 파일을 작게 조각내어 commit할 수 있게 해주는 tool이다.

git bash에 다음 코드를 순차적으로 입력하여 대용량 파일을 lfs가 추적할 수 있게 한다.

# lfs 설치
>>> git lfs install

# 대용량 파일 add 기록 unstaging -> git 추적 중지
>>> git rm -r --cached "대용량 파일의 경로"

# 대용량 파일 추적
>>> git lfs track "대용량 파일의 경로"

그 후 add / commit / push를 하면 정상적으로 push가 된다.

>>> git add *
>>> git commit -m "msg"
>>> git push origin branch이름


2-2) 이미 대용량 파일을 커밋한 경우

이 경우는 bfg를 설치하여 기존 커밋 내역에서 대용량 파일에 대한 commit 내역을 삭제해야한다. 우선, 아래 링크에 들어가서 bfg를 설치해준다.

또한, bfg는 java 기반이므로, JRE를 설치해주어야 한다. JRE는 아래 링크에서 설치하면 된다.

위에서 다운 받아준 bfg를 프로젝트 경로에 넣어준다. 그리고 git bash 또는 터미널에 다음 명령을 입력한다. 여기서 bfg-1.14.0.jar는 위에서 다운받은 bfg의 이름을 넣어주면 된다.

# 100M 이상의 대용량 파일에 대한 기록 삭제
>>> java -jar bfg-1.14.0.jar --strip-blobs-bigger-than 100M

이후 push하면 해결된다.

git push origin branch이름


2-3) bfg 에러 및 해결방법

Unable to access jarfile bfg-1.14.0.jar

  • bfg-1.14.0.jar의 정확한 경로를 적어주면 된다.

    >>> java -jar c:/users/user/desktop/project/bfg-1.14.0.jar --strip-blobs-bigger-than 100M
    

Warning : no large blobs matching criteria found in packfiles

  • 100MB 이상의 파일을 찾을 수 없다고 나오면, 다음 명령어를 수행하고 다시 2-2의 명령을 수행하면 된다.

      >>> git repack && git gc
    



3. 성공!



태그:

카테고리:

업데이트:

댓글남기기