에러노트

git 용량 줄이기

thebirghtwide 2022. 10. 9. 22:25

"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로 인한 에러가 발생하지 않을 것이다.