힘내 2.25.0 릴리스의 새로운 기능 : 스파 스 체크 아웃 일부 복제

힘내 2.25.0 릴리스, 프로젝트 참여자 테일러 블라이 버전은 부분 복제 (부분 복제) 및 스파 스 체크 아웃 (스파 스 체크 아웃)를 포함하여 기능에 하이라이트의 일부를 제공합니다 설명합니다.

부분적인 복제, 부분 복제

일반적으로, 때 힘내 복제 사본은 파일의 일부분 만, 매우 큰 저장소를 들어, 각 파일의 모든 버전 역사를 포함하여, 데이터웨어 하우스의 모든 복사합니다, 그것은 사실상 네트워크 전송 및 지방을 증가 스토리지의 비용입니다. 지난 몇 릴리스에서는 힘내는 이제 모든 콘텐츠 부품이 필요없이 복제 및 저장소를 사용할 수 있다는 것을 의미 클론의 일부를 수행 할 수있는 능력을 가지고 있습니다.

현재이 기능은 실험 단계에 아직도있다.

특히, 복제의 일부가 두 가지 작업을 수행하기 위해 클라이언트를 필요가 서버 만있는 상태 저장소에 객체를 필요로 말할 수 있어야합니다,뿐만 아니라 로컬 저장소의 객체의 완전한 세트의 부족하지 충돌 할 수 있어야합니다. 한편, 서버는 클라이언트의 요청을 설명 특정 오브젝트를 제공 할 수 있어야하고, 적절한 응답을 생성 할 수 있습니다.

어떤 망할 놈의 필요에 필요한 논리가 응답을 수신하고 서버 수입니다 감지 저장소를 건너 가 감지되면, 그것은 완전한 복제 개체를 발견하고 서버에 요청하려고하지 않기 때문. 희소 결제, 희소 체크 아웃 : 실제로,이 기능은 새로운 다른 기능에 의해 수행된다.

스파 스 체크 아웃, 스파 스 체크 아웃

스파 스 체크 아웃이 실제로 파일 경로 패턴과 유사한 경기 .gitignore 목록을 생략 할 수있는 개체의 검출시 Git 저장소 말해, 그것은 .gitignore는 인덱스보다는 작업 객체의 내용의 복사본입니다.

희소 체크 아웃이 단점은 예를 들어, 문서 2 건너 검출 깊이 이하일 지정 어렵다 가지고

$ git clone --filter=blob:none --no-checkout /your/repository/here repo
$ cd repo
$ cat >.git/info/sparse-checkout <<EOF
/*
!/*
EOF
$ git config core.sparseCheckout 1
$ git checkout .

첫째, 지정 --filter = BLOB : 아무도 힘내 건너 알려주는 --no-체크 아웃을 사용하여 다음 우리에게 방울 전송을 방지하고,하기 위해 서버를 필요로하지 않습니다 / 당신의 / 저장소 / 여기 가게의이 부분에 체크 아웃하지만, 실제로 많은 때 온 종속  .git/info/sparse-checkout매칭 패턴.

새로운 자식 스파 스 체크 아웃 명령을 도입하여 힘내 2.25,이 작업을 쉽게합니다. 다음은 위에 동일한 기능의 데모입니다 :

$ git clone --filter=blob:none --sparse /your/repository/here repo

git sparse-checkout명령은 사용자가 쉽게 복제 및 복잡한없이 희소 체크 아웃의 일부분으로 수행 할 수 있도록 .gitignore쓰기에 패턴 매칭 .git/info/sparse-checkout, git sparse-checkout직접 다룰 것이다.

git sparse-checkout 설정 (설정) 경로 목록 체크 아웃 현재 완전히 (활성화)를 활성화 또는 비활성화 (해제) 스파 스 체크 아웃의 인쇄 (목록) 목록 될 : 당신은 네 가지 작업을 수행 할 수 있습니다.

새 경로를 확인하려면 다음 명령을 실행합니다 :

$ git sparse-checkout set /path/to/check/out

또한, 매우 큰 창고, 패턴 매칭 목록이 너무 복잡 할 것입니다 스파 스 체크 아웃이 망할 놈의 지금 수행 콘 모드를 제공 git config core.sparseCheckoutCone더 엄격한 될 것 패턴 매칭 세트를 허용,이 모드를 직접 여부 고정자에 지정할 수 있습니다 탐지 된 모든 경로 나 패턴 매칭에 의한 디렉토리가 아닌 .gitignore 내의 모든 파일.

이 대형 저장소의 디렉토리 A / B / C이며, C는 일반적으로 대부분의 작업 위치의 경우 예를 들어, 완전히 감지해야 할 수도 있지만, A와 B의 필요성을 감지 충분히 수 있도록 컨텐츠, 그래서 C를 도달 할 수 콘 모드에서,  git sparse-checkout set A/B/C 당신은 그것을 할 수 있습니다.

힘내 2.25 업데이트 및 상세 내역보기 소개 :

추천

출처www.oschina.net/news/112802/git-2-25-0-released