Git 2.56과 3.0을 내다보며

4 hours ago 2

Git 2.56은 9월 말 출시가 예상되며, 이력 편집과 브랜치 관리 등 사용성을 개선함. 그다음 버전은 여러 호환성 변경을 포함하는 Git 3.0이 될 수 있지만 아직 결정되지 않음 실험적 git history에 특정 커밋을 제거하고 후속 커밋을 다시 적용하는 drop 하위 명령이 추가됨. 다만 이력에 병합 커밋이 있으면 사용할 수 없음 Git 3.0의 주요 변경은 기본 해시를 SHA-1에서 SHA-256으로 전환하는 것임. GitLab과 Forgejo는 지원하지만, GitHub의 지원 시점은 아직 불명확함 참조 저장 기본값을 reftable로 바꾸면 참조가 많은 저장소의 효율을 개선할 수 있음. 저장소에 직접 접근하는 외부 소프트웨어의 호환성이 관건이며, libgit2는 전환에 대비한 지원을 갖춤 Git 3.0에서는 빌드에 Rust가 필수가 될 것으로 예상돼, 작동하는 Rust 컴파일러가 없는 플랫폼은 업그레이드할 수 없게 됨. 기존 SHA-1 저장소와 reftable을 사용하지 않는 저장소는 계속 완전히 지원됨 Git 2.56의 이력 편집과 사용성 개선 Git 2.56은 현재 릴리스 후보 단계로, 9월 말 출시가 예상됨 병합 커밋을 제외한 커밋이 700개 넘게 포함되며, 대부분의 사용자 경험을 근본적으로 바꾸기보다는 여러 개선을 더함 아직 실험적인 git history에 drop 하위 명령이 추가됨 git history drop <commit-id>는 현재 브랜치 이력에서 지정한 커밋을 제거하고 이후 커밋을 다시 적용함 문제 있는 커밋을 더 쉽게 제거할 수 있지만, 병합 커밋이 있는 이력에서는 실행을 거부하므로 많은 저장소에서 활용하기 어려움 git status는 브랜치가 추적 대상 브랜치보다 뒤처져 있으면 업데이트를 위한 git pull 명령을 제안함 다만 원격 변경을 아직 가져오지 않았다면, 실제로 뒤처져 있어도 여전히 최신 상태라고 표시할 수 있음 참조를 저수준에서 조작하는 git refs에 create, delete, update, rename 하위 명령이 추가되며, 각각 이름에 해당하는 작업을 수행함 git branch의 --delete-merged 옵션은 원격 추적 브랜치에 병합된 로컬 브랜치를 삭제함 git branch -d로 이진 탐색에 사용 중인 브랜치를 삭제하려 하면 유용한 안내 메시지와 함께 실패함 git add에 --resolved 옵션이 추가돼, 병합 충돌이 해결된 파일만...

Read Entire Article