본문 바로가기
에러노트

git 용량 줄이기

by thebirghtwide 2022. 10. 9.

"Account responsible for LFS bandwidth should purchase more data packs to restore access"

git에 push를 진행하는 순간 다음과 같은 에러메시지가 나오면서 더 이상 push를 진행할 수 없게 되었다. 아무래도 기존 git 저장소에 용량이 가득차서 생긴 문제라고 보인다. 이를 해결하기 위해 일단 아래와 같은 프로세스를 진행해 보자.

 

 

 1. 현재 git 저장소 크기 확인 

git count-objects -H

우선 이 명령어로 저장소의 전체 용량을 확인해 보자. 현재 사용중인 용량은 400MB 정도로 권장되는 100~300MB로 유지해야하는 저장소 크기에 비해 꽤나 많은 용량을 차지하는 것을 확인할 수 있다. 

 

 2. 용량을 크게 차지하는 파일들 제거 혹은 올라가지 않도록 한다. 

우선 push로 인해서 용량이 큰 파일을 올라가지 않도록 한다.

.git 폴더가 있는 곳에서 

.gitignore 파일을 생성한다. 

## 특정 파일 무시
test.txt

## 다음과 같은 확장자는 전체 무시
*.db

## 폴더 무시
test/

현재 나의 경우 .db로 끝나는 파일로 인해서 올라가지 않음으로 더 이상 push 진행시 올라가지 않도록 조치한다. 

그런 다음 git add >  commit > push를 진행해야만 적용된다. 

 

추가로 이미 git에 올라간 파일들은 적용이 안되어 있다. 따라서 cached를 제거 해야만한다. 

## 파일 이라면
git rm --cached test.txt

## 특정 파일들 이라면
git rm --cached *.db

## 폴더 라면
git rm --cached test/ -r

이렇게 명령어를 내린 후 꼭 commit을 해줘야만 한다. 

 

 3. 안쓰는 branch 삭제 

사용하지 않는 branch를 삭제한다. 

git push {원격저장소 이름} --delete {branch 이름}

삭제하고 싶은 branch 와 원격저장소 이름을 다음과 같이 입력하면 된다. 

 

 결론

위의 방법들을 다 사용해 보았지만 계속해서 안되서 결국 제자리 걸음만.. 걸었다. 그러나 결국 해결할 수 있었다.

문제는 LFS로 인해서 발생했는데 

git lfs uninstall

이렇게 명령어를 치니 해결할 수 있었다. 뭔가 너무나 허탈하다.

 

만약 git lfs가 제대로 지워지지 않는다면 뭔가 설정에 의해서 제대로 동작하지 않는 상태일 것이다. 이럴 때에는 

git config --global --show-origin --get-regexp 'filter.lfs.*'

다음 명령어로 처리하면 더 이상 LFS로 인한 에러가 발생하지 않을 것이다. 

댓글