Git 2.37이 이미 출시되었으며이 소식이 있습니다.

출시 새로운 버전 힘내 2.37, 그것은 중 하나입니다 가장 인기 있는 버전 관리 시스템포크 및 포크 병합을 기반으로 하는 유연한 비선형 개발 도구를 제공하는 안정적인 고성능 소프트웨어입니다.

기록 무결성과 변경에 대한 저항을 보장하기 위해 모든 이전 기록의 "역방향" 암시적 해시가 각 커밋에 사용되며 개별 태그 및 커밋 개발자의 디지털 서명을 확인하는 것도 가능합니다.

Git 2.37 주요 새로운 기능

이전 버전에 비해 395개의 변경 사항이 새 버전에서 수락되었습니다. 75명의 개발자가 참여하여 준비했으며 그 중 20명이 처음으로 개발에 참여했습니다.

이 새 버전에서는 부분 인덱스 메커니즘 리포지토리의 일부만 포함하는 (희소 인덱스) se는 광범위한 사용을 위해 준비되었습니다.. 부분 인덱스는 부분 복제 작업(스파스 체크아웃)을 수행하거나 저장소의 불완전한 복사본에서 작업하는 저장소의 성능을 향상시키고 공간을 절약할 수 있습니다.

새 버전은 작업을 완료합니다. 명령에 부분 색인 통합 "git show", "git sparse-checkout" 및 "git stash". 부분 인덱스를 사용하여 얻을 수 있는 가장 눈에 띄는 성능 향상은 "git stash" 명령에 있으며 일부 상황에서는 최대 80% 더 빠릅니다.

눈에 띄는 또 다른 변화는 새로운 "크러프트 팩" 메커니즘이 구현되었습니다. 저장소에서 참조되지 않는(분기 또는 태그에서 참조하지 않는) 도달할 수 없는 개체를 패키징합니다. 가비지 수집기는 연결할 수 없는 개체를 삭제하지만 경쟁 조건을 피하기 위해 삭제하기 전에 일정 시간 동안 저장소에 남아 있습니다. 도달할 수 없는 객체의 기간을 추적하려면 바인딩이 필요하며 유사한 객체의 변경 시간으로 태그가 지정되어 모든 객체가 공통 수정 시간을 갖는 번들 파일에 저장할 수 없습니다.

이전에 사용한 각 개체를 별도의 파일에 저장하면 아직 접근할 수 없는 새로운 개체가 많이 있는 상태에서 파일에 문제가 발생했습니다. 제안된 "크러프트 팩" 메커니즘은 도달할 수 없는 모든 객체를 번들 파일에 저장할 수 있도록 하고 각 객체의 수정 시간에 대한 데이터는 확장자가 ".mtimes"인 파일에 저장된 별도의 테이블에 반영됩니다.

Windows 및 macOS의 경우 기본 제공 메커니즘이 있습니다. 파일 시스템의 변경 사항을 추적하기 위해 전체 작업 디렉토리를 나열할 필요가 없습니다. "git status"와 같은 작업을 수행할 때. 이전에는 후크를 통해 변경 사항을 추적하기 위해 Watchman과 같은 외부 파일 시스템 변경 사항 추적 유틸리티를 연결할 수 있었지만 이를 위해서는 추가 프로그램과 구성을 설치해야 했습니다. 이 기능은 이제 내장되었으며 "git config core.fsmonitor true"로 활성화할 수 있습니다.

명령 "git sparse-checkout"이 "--cone" 모드에 대한 대안 지원을 중단했습니다. 복제 작업 대상 리포지토리의 일부를 정의할 때 부분 색인 최적화에 사용할 수 없는 ".gitignore" 구문을 사용하여 개별 파일을 나열할 수 있는 부분 복제를 위한 템플릿 정의.

다른 변경 사항 중 눈에 띄는 :

  • 디스크에 대한 변경 사항을 플러시하기 위해 fsync() 호출을 구성할 때 유연성이 향상되었습니다.
  • 단일 fsync() 호출로 플러시된 재작성 캐시의 변경 사항을 누적하여 많은 수의 개별 파일을 작성할 때 작업 속도를 높이는 "core.fsyncMethod" 매개변수에 "일괄" 동기화 전략에 대한 지원을 추가했습니다.
  • "git log" 및 "git rev-list"와 같은 순회 명령에는 "-since-as-filter=X" 옵션이 있어 "X"보다 오래된 커밋에 대한 정보를 필터링합니다.
  • "git remote" 명령에서 "-v" 플래그를 지정하면 저장소의 부분 복제에 대한 정보가 제공됩니다.
  • "warn", "die" 및 "allow" 값을 사용할 수 있는 "transfer.credentialsInUrl" 설정이 추가되었습니다. 매개변수가 "원격. .url"은 일반 텍스트로 자격 증명을 지정하고 "transfer.credentialsInUrl" 설정이 "die"로 설정된 경우 "get" 또는 "push" 작업을 수행하려는 시도가 실패하고 "warn"으로 설정된 경우 경고가 표시됩니다.
  • 기본적으로 Perl에서 C로 다시 작성된 "git add -i" 명령의 새로운 대화형 모드 구현이 사용됩니다.

최종적으로 그것에 대해 더 많이 알고 싶다면, 당신은 세부 사항을 확인할 수 있습니다 다음 링크에서.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.