prune, fsck, BFG로 로컬 Git 저장소 용량 줄이기
저장소가 커서 로컬 디스크를 많이 차지했다. 먼저 로컬과 원격을 비교해, 원격에서 이미 사라져 git tree에서 더 이상 유효하지 않은 브랜치들을 prune했다.
효과는 저장소마다 달랐다.
- 오래 작업해 온 저장소(GameB): 31G에서 10G로 줄어 20G 넘게 확보했다.
- 비교적 최근에 체크아웃한 저장소(GameA): 2G 정도만 줄었다.
rebase나 reset을 거치면 어디에서도 참조하지 않는 dangling 오브젝트가 남는다. git fsck --full로 조회해 dangling 오브젝트가 남아 있는 것을 확인했다.
git fsck --fullGitLab의 저장소 용량 줄이기 가이드대로 BFG Repo-Cleaner를 써서 큰 파일을 정리했다.
- 15M를 기준으로 수행했다.
- 그 결과 5G 정도를 더 줄였다.
- 기준을 15M에서 10M로 낮추면 더 많이 줄일 수 있다.
배운 점
섹션 제목: “배운 점”prune은 원격에서 사라진 브랜치가 많이 쌓인 오래된 저장소에서 효과가 컸다(31G에서 10G). 최근에 받은 저장소라면 dangling 오브젝트와 큰 파일 히스토리를 확인하고 BFG 같은 도구로 정리해야 용량이 줄어든다.