프로젝트 일지
[git] Github 100M 이상 파일 오류 커밋 삭제 해결 | 프로삽질러
유나쒸
2021. 4. 17. 15:37
github 에 100M 이상 파일을 커밋하려다 다음과 같은 에러가 났다. github policy 가 한번에 100MB 이상 파일을 푸쉬하지 못하도록 되어있었다.
시도했지만 실패한 방법들 (이 방법들은 안되는 방법이니까 해보지 마세요! )
- 1) 해당 파일을 삭제하고 파일을 여러 파일로 분산 시켜 다시 PUSH 하기 -> 위 사진과 동일한 에러 발생
- 2) 현재 HEAD (commit status) 에 올라가있는 commit 을 삭제하고 100MB 이하 파일들만 다시 PUSH 하기 -> 동일한 에러 발생
해결 방법
현재 HEAD 나 디렉토리에 존재하지 않더라도 이미 이전 commit 으로 100MB 이상 파일을 올려 Error 가 났다면 해당 commit 을 삭제하지않는 이상 여러분의 git repository 는 어떠한 작업도 하지 못하게 됩니다. 일일이 이전 commit을 찾아보기란 쉽지 않은데 이때 BFG Repo-Cleaner 를 이용하면 아주 간단하게 이전 commit을 삭제할 수 있습니다. 아래 링크에서 jar 파일을 다운로드 받아주세요.
1. 안전을 위해 현재 repository 를 복제하여 두시길 바랍니다.
2. 현재 repository의 상위 디렉토리로 다운로드 한 jar 파일을 옮겨주세요.
3. 본인이 다운로드한 jar 파일명과 함께 다음 명령어를 실행해주세요.
1
|
$ java -jar bfg-1.14.0.jar --strip-blobs-bigger-than 100M 해당repository
|
cs |
위와 같이 삭제한 commit 내역을 알려주는 표같은 실행 결과가 나오면 해당 commit을 지우는데 성공한 것 입니다.
4. 마지막으로 해당 repository 의 변경사항을 push 하면 에러 없이 원만하게 push 되는 것을 확인할 수 있습니다.
1
2
|
$ cd 해당repository이름
$ git push
|
cs |