2014-10-25 4 views
1

저는 현재 github 프로젝트를 유지하고 있으며 ~ 200 커밋입니다. 나는 최근에 VM에서 repo의 새로운 포크/복제본을 만들었으며, 로컬 컴퓨터의 프로젝트 디렉토리가 168MB (oO) 인 것을보고 놀랐습니다. github 페이지의 다운로드 링크를 사용하여 프로젝트의 마스터 브랜치를 다운로드하면 프로젝트의 경우 압축을 풀면 내 로컬 컴퓨터의 비좁은 4.4MB 공간을 차지합니다. 누군가 포크/클론이 168MB의 공간을 차지하고 master 브랜치가 4.4MB의 공간만을 차지하는 이유에 대해 누군가에게 설명해 주시겠습니까?Git 저장소가 너무 큰 이유는 무엇입니까?

FYI, 나는 결코 큰 파일을 repo에 업로드하지 않았다고 생각합니다. 그래서 큰 파일 문제라고 생각하지 않습니다.

+0

프로젝트 디렉토리에는 최신 버전의 파일뿐만 아니라 모든 브랜치에있는 모든 파일의 모든 히스토리가 들어 있습니다. 그리고 아마도 공간에 최적화 된 것이 아니라 속도면에서 최적화되었습니다. 체크 아웃 할 때 디스크 크기가 아니라 디스크의 크기를 측정해야합니다. –

답변

1

차이점은 복제본이 .git 디렉토리에있는 내 자식 기록을 보유하고 있다는 것입니다. .git 디렉토리의 크기를 살펴보십시오 (리눅스 같은 경우 cd $GIT_DIR; du -hs .git).

.git 디렉토리를 정리할 수 있습니다.

git fsck --full 
git gc --prune=today --aggressive 
git repack 

일부 공간을 절약 할 수 있습니다. 그러나 일반적으로 귀하의 지역 지점과 기록은 귀하의 저장소에있는 .git 디렉토리에 저장되어있을 가능성이 큽니다.

관련 문제