2011-12-28 5 views
4

가능한 중복 : 나는 힘내와 SVN 사이에는 중요한 차이를 아시다시피
How much space do I need for Git vs SVN?힘내는 SVN보다 더 많은 공간이 필요합니까?

는 즉은 "SVN은 델타 스토리지 시스템입니다 - 그것은 하나의 차이점은 커밋하고 다음 저장 Git은 이것을하지 않지만, 커밋 할 때마다 프로젝트의 모든 파일이 트리 구조처럼 보이는 스냅 샷을 저장합니다.

이렇게하면 Git은 delta 대신 모든 스냅 샷을 저장하기 때문에 SVN보다 더 많은 공간이 필요합니까?

답변

0

실제로는 .git 디렉토리가 .svn보다 작습니다. 왜냐하면 git이 데이터를 잘 압축하고 디자인으로 인해 쓸모없는 스냅 샷을 보관하지 않기 때문입니다. 델타도 사용합니다!

6

적어도 디스크에서 어떻게 흔들리는 지에 대해서는 거꾸로 생각한 것 같습니다.

SVN에서 체크 아웃하는 각 분기는 전체 사본과 델타입니다. 따라서 두 개의 분기는 두 개의 완전한 파일 세트와 모든 SVN diff 정보를 의미합니다.

다른 한편, 힘내, 파일의 단일 사본 플러스 diff 정보를 포함하는 모든 스냅 샷을 유지합니다. 따라서 여러 가지 브랜치의 경우 힘내는 항상 작아집니다.

4

"Packfiles"Pro Git에서 :

힘내는 느슨한 객체 형식이라고 디스크에 오브젝트를 저장하는 초기 형식입니다. 그러나 가끔씩 힘내는 의 여러 객체를 packfile이라는 단일 바이너리 파일에 압축하여 공간을 절약하고보다 효율적으로 사용할 수 있습니다. Git gc 명령을 수동으로 실행하거나 원격 서버로 푸시하는 경우 너무 많은 객체가 있으면이 작업을 수행합니다.

Git은 항상 파일의 각 버전을 별도로 저장하지 않으며 차이점도 사용합니다. 또한 Git은 적어도 일반 텍스트 소스 코드 파일에 대해 상당히 효과적인 zlib로 모든 파일을 압축합니다.

아직도 힘내는 SVN보다 더 많은 공간을 사용하는지 아니면 사용하지 않는 공간인지를 확실히 말하는 것이 쉽지 않습니다. 그 이유 중 하나는 SVN이 마지막 버전 만 로컬에 저장하는 반면, git에는 저장소에 저장소가 모두 복사되어 있다는 것입니다. 따라서 SVN의 한 개정판에서 사용 된 공간과 Git의 전체 저장소에서 사용 된 공간을 비교할 수 없습니다.

공간에서 서버의 SVN 저장소에서 사용되는 공간 비교 저장소는 저장소에 저장하는 파일의 특정 버전 기록 및 유형에 많은 영향을받습니다.

관련 문제