버그 해결을 위한 모든 질문을 던져
0 votes
231 views
Git을 이용해서 유니티 엔진 워크 스페이스를 관리하고 있는 학생팀입니다...

저장소자체는 반년전에 생성되서 개발 중인데요, 리소스가 자주 올라갔다 바뀌고 해서 그런지 어느덧 .git 폴더의 용량만 어느덧 8GB가 되어버리고 에셋 (캐시된 데이터 제외) 6GB, 전체 폴더는 23GB(.git + 에셋+ 캐시된 데이터) 정도됩니다.

아마.. 분명 폴더 어딘가에 안쓰이는 잉여파일들이 있는것 같은데 빌드시에는 포함이 안되니 신경을 끄고 있었습니다만... 찾는데 또 한세월일거 같으니...

수많은 커밋 로그들을 지워서 6GB에 달하는 .git 폴더 용량을 줄이는 것도 한방법일 것 같은데, 로그는 원격 저장소쪽에는 유지시켜야할 것 같아서 저장소를 새로파야하나 싶은데

현업 쪽에서는 이러한 이슈가 있었을 때 어떤 방법을 사용하는지 궁금합니다.
asked (22 point) , 231 views

2 answers

+1 vote
우수 답변
일단 저장소 자체 용량이 큰 지, 로컬 폴더의 용량만 큰 지 확인이 필요하고요.

로컬 폴더는 git gc --prune=now 라는 옵션으로 가비지 컬렉션을 하면 정리가 됩니다.

그래도 용량이 크다면, 서버에 올라간 용량이 크다는 의미이므로 쉽진 않은데요.

기존 저장소를 통째로 백업한 다음에, 용량이 크거나 필요 없는 파일이나 폴더 혹은 브랜치의 기록을 삭제한 후, 꼭 필요한 파일은 다시 추가하는 방식으로 정리한 후 새로운 저장소에 올리면 됩니다.

개인적으론 SVN에선 해 봤는데, Git에서는 해 본 적이 없어서 찾아보니까..

https://stackoverflow.com/questions/2100907/how-to-remove-delete-a-large-file-from-commit-history-in-the-git-repository

이런 글이 있네요.

Git filter-repo 혹은 BFG Repo-Cleaner 라는 걸 쓰면 된다고 합니다.

특정 파일이나 브랜치의 기록을 지워 준다고 하네요.

이후 새로운 Git 저장소는 LFS 옵션을 사용해서 만드시면 같은 일이 재발되는 걸 막을 수 있을 거 같네요.
answered (617 point)
선택됨
git gc --prune=now 

해도 별 차이는 안생기네요 ㅠㅠㅎ..

추후에 요 방법 참고해서 정리해보록 하겠습니다.

Git filter-repo 혹은 BFG Repo-Cleaner 라는 걸 쓰면 된다고 합니다.

지나가다가 좋은 정보를 주웠네요. 나중에 한번 써봐야겠네요 

0 votes

git gc 해보셨나요?

원격은 그대로 두시고 로컬만 히스토리 좀 줄이시려면 

git pull --depth 1
# git fetch --shallow-since=YYYY-mm-dd
git gc --prune=all

 

다른 곳은 어떻게 하시는지 저도 궁금합니다 ㅎㅎ

answered (81 point)

버그 해결을 위해 도움을 구하고, 도움을 주세요. 우리는 그렇게 발전합니다.

throw bug 는 프로그래밍에 대한 전분야를 다룹니다. 질문,논의거리,팁,정보공유 모든 것이 가능합니다. 프로그래밍과 관련이 없는 내용은 환영받지 못합니다.

520 질문
675 answers
665 댓글
118,175 users