- Published on
저장소가 느려지는 이유는 하나가 아닙니다. 커밋 이력이 긴 것, 파일 수가 많은 것, 큰 바이너리가 들어 있는 것은 서로 다른 문제이고 처방도 다릅니다. 이 글은 먼저 원인을 구분하는 측정 명령부터 시작해, 얕은 클론과 부분 클론이 왜 대체재가 아니라 용도가 다른 도구인지, sparse-checkout과 파일 감시가 status를 어떻게 줄이는지, commit-graph가 로그와 병합 기준점 계산을 왜 그렇게 크게 바꾸는지 설명합니다. gc를 aggressive로 돌리라는 흔한 조언이 왜 대체로 손해인지, Git LFS를 지금 도입해도 어제 커밋한 바이너리는 왜 사라지지 않는지, 그리고 filter-repo로 정리할 때 치르는 대가가 무엇인지까지 정리했습니다.