반응형
우연히 git pull이 너무 오래 걸려 원인을 분석해보니, 누군가 실수로 약 5GB되는 파이썬 패키지를 git push한 것을 발견했습니다. 그래서 해당 파일을 삭제하고 다시 git push를 했는데도.. 여전히 git 작업폴더 용량이 줄지 않았습니다.
좀더 분석해보니 작업폴더 문제가 아니라 git데이터가 저장된 .git/object폴더가 5GB라는 것을 확인했습니다.
ls -l .git/objects
objects폴더는 git 데이터(blob, tree 등)를 저장하는 파일입니다. git작업폴더에는 파일이 삭제되었지만 알 수 없는 이유로 파일의 데이터가 저장된 obejcts에는 제거가 안되었습니다. 그래서 강제로 objects폴더를 정리해줘야 했습니다.
# 모든 브랜치를 대상으로 검색에 일치한 파일을 삭제하고 git reindex
git filter-branch --index-filter 'git rm --cached --ignore-unmatch {파일이름}' -- --all
# git refs, logs 폴더 삭제
rm -Rf .git/refs/original
rm -Rf .git/logs/
# 불필요한 파일 정리
git gc --aggressive --prune=now
# 원격 브랜치 반영
git push -f origin master
참고자료
반응형
'전공영역 공부 기록' 카테고리의 다른 글
aws eks kubeconfig 업데이트 명령어 (0) | 2022.12.20 |
---|---|
cloud guru 샌드박스 후기 (0) | 2022.12.18 |
argoworkflow api/v1/workflow-events pending 이슈해결 (0) | 2022.12.03 |
로컬 테스트중에 argocd가 망가졌다 ㅜ.ㅜ (0) | 2022.12.03 |
[Helm] Error: INSTALLATION FAILED: rendered manifests contain a resource that already exists 에러 해결 (1) | 2022.12.03 |