큰 파일에서 왜 자식이 너무 느립니까?


8

git을 사용하여 사진을 관리하려고했습니다 (백업 / 스냅 샷 촬영). 전체 라이브러리는 몇 GB입니다. 파일의 대부분은 2-3M의 JPG입니다. 파일을 리포지토리에 추가 할 때 며칠이 걸리는 것 같습니다. CPU 사용률은 항상 100 %에 가깝습니다.

큰 파일에서 git이 느려지는 이유가 있습니까?

추신 : git이 이것을 위해 설계되지 않았다는 것을 알고 있습니다.

답변:


7

Git은 기본적으로 파일을 압축합니다. JPEG는 기본적으로 이미 압축되어 있습니다. 큰 파일이 아니라 압축 파일입니다.

ZIP 파일을 git 저장소에 추가하는 것과 동일한 효과를 알 수 있습니다.

편집 : 압축 에 대한 /programming/7102053/git-pull-without-remotely-compressing-objects 에 흥미로운 스레드가 있습니다 .


1
git에게 파일을 압축하지 말라고 어떻게 말할 수 있습니까? 공간 효율성이 반드시 필요한 것은 아닙니다. 나는 그것이 가능한 한 빨리되기를 원합니다. 감사!
woodings

2
및 을 (를 git config) 포함하여 재생할 수있는 호스트 스위치가 있습니다 . 압축하지 않고 git을 실행하려고 시도한 적이없는 YMMV. 우리 모두가 당신의 경험을 통해 배울 수 있도록 발견 한 것을 게시하십시오. core.compressionpack.window

@Eroen, 당신은 좋은 지적을합니다. 귀하의 의견을 표명했습니다.

2
Git은 또한 파일을 사용할 때마다 모든 파일의 sha1 해시를 만들고 확인하므로 큰 파일에는 시간이 오래 걸릴 수 있습니다.
Eroen

3
@ RandolphWest : 좋지만 잘못되었습니다. 로 zlib 압축을 해제 할 수 있습니다 $ git set core.compression 0. sha1은 초당 수십 MiB이지만 메모리 부족 상태를 방해 할 수 있습니다.
Eroen
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.