이번 글에서는 Git으로 프로젝트를 클론하는 과정에서 발생한 에러에 대해서 확인 겸 기록하고자 한다.
클론하는 과정에서 이러한 에러가 발생했다.
확인해보니 프로젝트의 브랜치가 많거나 , 특정 브랜치의 clone을 받을 때 용량이 너무 커서 많은 데이터를 가져오게 되므로 메모리 부족 or 용량 부족 등의 상황에서 에러가 발생한 것이다.
- git 버전을 최신 버전으로 업데이트
- .gitconfig에 아래의 코드를 추가
.gitconfig 파일
[core]
packedGitLimit = 512m
packedGitWindowSize = 512m
[pack]
deltaCacheSize = 2047m
packSizeLimit = 2047m
windowMemory = 2047m
Git clone 시 히스토리를 전부 받지 않고 depth 옵션을 통해 지정한 개수의 히스토리 이력을 받는 방법이다.
- Git clone 시 히스토리를 전부 받지 않고 depth 옵션을 통해 지정한 개수의 히스토리 이력을 받는 방법이다.
- depth 옵션을 통해 일부 다운받고 , git fetch --unshallow 또는 git fetch --depth=100을 이용하여 나머지를 다운받으면 된다.
// Shallow clone을 이용하여 최근 10개의 이력만 clone.
git clone --depth 10 http://github.com/project.git
// clone 한 다음 해당 프로젝트로 이동 후 git fetch --unshallow로 나머지를 다운.
cd project.git
git fetch --unshallow
// 만약 나머지를 다운받는데도 용량이 커서 에러 발생 시 git fetch --depth=100로 차근차근 다운받는다.
git fetch --depth=100
git fetch --depth=200
git fetch --depth=300
git fetch --unshallow
git clone을 하는데에 있어서 여러 해결방법을 시도해봤는데도 해결이 안됬다.
원인은 회사 서버 설정에서 다운시에 1GB 제한이 되어있어서 자꾸 오류가 발생한 것이다.
그래서 프로젝트를 통째로 복사하는 방식으로 해결했다.
옮기고 확인해보니 프로젝트 용량이 6기가 넘더라..