Git 2.54 릴리스를 통해 git history 명령어를 도입, 간단한 히스토리 수정을 지원하며, config 기반 훅(Config-based Hooks)을 통해 훅 공유 및 관리가 용이해짐
기하학적 리패킹(Geometric Repacking)을 기본 전략으로 채택하여 저장소 유지보수 효율성을 향상시킴
HTTP 429 응답 처리, git log –L 개선 등 개발 편의성(Developer Convenience)을 위한 다양한 기능이 추가됨
커뮤니티에서는 새로운 기능들에 대한 긍정적인 평가(Positive Evaluation)와 함께, 기존 워크플로우와의 통합에 대한 논의가 진행됨
Git 2.54는 git history 명령어를 도입하여, 간단한 히스토리 수정 작업을 간소화했다. 특히, `git history reword`와 `git history split` 기능을 통해, 복잡한 `git rebase -i` 없이 커밋 메시지 수정 및 커밋 분할을 지원한다. 작업 트리(Working Tree) 변경 없이 히스토리 수정을 수행할 수 있어, 개발 생산성을 향상시킬 수 있다. 하지만, 머지 커밋(Merge Commits)을 지원하지 않는다는 점은 유의해야 한다.
Git 2.54는 설정 파일 기반의 훅(Hook) 정의를 지원하여, 훅 공유 및 관리를 용이하게 만들었다. 이제, `.git/hooks` 디렉토리에 스크립트를 복사하는 대신, `~/.gitconfig` 또는 로컬 설정 파일에 훅을 정의할 수 있다. 여러 훅을 동일한 이벤트에 연결할 수 있으며, 훅의 활성화/비활성화를 설정으로 제어할 수 있다. 이는 코드 품질 관리(Code Quality Management) 및 보안 검사 자동화에 기여할 수 있다.
Git 2.54는 기하학적 리패킹(Geometric Repacking)을 기본 유지보수 전략으로 채택하여, 저장소 유지보수 효율성을 향상시켰다. 이 전략은 전체 가비지 컬렉션(Garbage Collection) 대신, 팩 파일을 점진적으로 결합하여 저장소 크기를 최적화한다. 수동 개입 없이 저장소 성능을 개선할 수 있으며, 특히 대규모 저장소에서 효과적이다. 기존 `gc` 전략도 선택 가능하며, 개발자는 필요에 따라 전략을 선택할 수 있다.
Git 2.54는 HTTP 429 “Too Many Requests” 응답을 처리하여, 네트워크 오류 발생 시 재시도를 지원한다. 또한, `git log –L` 명령어를 개선하여, 표준 diff 파이프라인과 호환성을 확보하고, `-S` 및 `-G` 옵션과 함께 사용할 수 있도록 했다. HTTP 요청 실패(HTTP Request Failure)에 대한 복원력을 높이고, 코드 변경 내역 추적 기능을 강화하여, 개발자의 편의성을 높였다.