Những điểm mới đáng chú ý trong Git 2.55
Git 2.55 vừa chính thức ra mắt với nhiều cải tiến quan trọng về hiệu suất, bao gồm cơ chế repacking incremental multi-pack index, lệnh git history fixup mới và hỗ trợ filesystem monitor trên...
Dự án mã nguồn mở Git vừa phát hành phiên bản 2.55, mang đến hàng loạt tính năng mới và các bản sửa lỗi từ hơn 100 cộng tác viên. Dưới đây là những thay đổi đáng chú ý nhất mà bạn cần biết.
Table Of Content
Tối ưu hóa Repacking với Incremental Multi-pack Indexes
Git lưu trữ dữ liệu dưới dạng các đối tượng (commits, trees, blobs) trong các packfile. Với các repository lớn, việc quản lý nhiều packfile có thể gây chậm trễ. Multi-pack index (MIDX) giúp Git tìm kiếm đối tượng nhanh hơn bằng cách tạo một chỉ mục chung cho nhiều packfile.
Trong Git 2.55, tính năng git repack --write-midx=incremental cho phép tạo các chuỗi MIDX theo từng lớp (layers). Thay vì phải viết lại toàn bộ chỉ mục mỗi khi có thay đổi, Git chỉ cần thêm một lớp mới vào chuỗi. Kết hợp với tùy chọn --geometric, Git có thể tự động gộp các lớp khi cần thiết, giúp cân bằng giữa tốc độ tìm kiếm và chi phí bảo trì metadata.
Sửa lỗi commit với git history fixup
Việc điều chỉnh các commit cũ thường tốn thời gian với quy trình tạo fixup commit và autosquash. Git 2.55 mở rộng lệnh thử nghiệm git history bằng subcommand fixup mới. Lệnh này cho phép bạn áp dụng trực tiếp các thay đổi đang staged vào một commit cụ thể trong lịch sử, sau đó tự động tái cấu trúc các commit phía sau một cách an toàn.
Các cải tiến đáng chú ý khác
- Chạy Hook song song: Git 2.55 cho phép các hook cấu hình (config-based hooks) chạy song song nếu chúng không phụ thuộc vào trạng thái chia sẻ, giúp tăng tốc quy trình làm việc như linting hoặc unit tests.
- Filesystem Monitor cho Linux: Tính năng
core.fsmonitor, vốn giúpgit statusphản hồi nhanh hơn bằng cách theo dõi thay đổi file, nay đã hỗ trợ Linux thông quainotify. - Tăng tốc Reachability Bitmaps: Việc tạo bitmap đã được cải thiện đáng kể thông qua việc tối ưu hóa đệ quy cây và xử lý pseudo-merge, giúp giảm thời gian tạo bitmap trong các repository lớn.
- Cải tiến
--path-walk: Chế độ này nay hỗ trợ tốt hơn cho các workflow partial clone và filtered pack, giúp tối ưu hóa kích thước packfile bằng cách nhóm các đối tượng theo đường dẫn trước khi nén.
Nguồn tham khảo: GitHub Blog



No Comment! Be the first one.