Những điểm mới đáng chú ý trong bản cập nhật Git 2.56
Dự án mã nguồn mở Git vừa chính thức phát hành phiên bản 2.56 với nhiều cải tiến hiệu năng, tính năng mới giúp quản lý xung đột merge hiệu quả hơn và tối ưu hóa quy trình làm việc cho các hệ thống...
- Giọng nữ Bắc
Dự án mã nguồn mở Git vừa chính thức ra mắt phiên bản 2.56.0, đánh dấu sự đóng góp của hơn 104 lập trình viên, trong đó có 39 người mới. Bản cập nhật này mang đến nhiều thay đổi quan trọng nhằm tối ưu hóa hiệu suất và cải thiện trải nghiệm người dùng.
Table Of Content
Xử lý xung đột merge an toàn hơn với git add –resolved
Trước đây, việc giải quyết xung đột merge thường dễ dẫn đến sai sót khi sử dụng git add -u, vì lệnh này có thể vô tình stage cả những thay đổi không liên quan hoặc các tệp vẫn còn chứa marker xung đột. Git 2.56 giới thiệu chế độ git add --resolved, được thiết kế chuyên biệt để chỉ stage các tệp đã được giải quyết xung đột. Git sẽ tự động quét các tệp chưa được merge; nếu phát hiện marker xung đột còn sót lại, hệ thống sẽ từ chối stage tệp đó, giúp đảm bảo an toàn cho quá trình commit.
Tối ưu hóa thuật toán tìm kiếm merge-base
Git 2.56 đã cải tiến quy tắc dừng khi tìm kiếm các điểm chung (common ancestor) giữa hai commit. Bằng cách theo dõi các commit độc quyền của mỗi nhánh, Git có thể dừng tìm kiếm ngay khi xác định không còn khả năng xuất hiện thêm điểm chung nào nữa. Thay đổi này mang lại hiệu năng vượt trội, đặc biệt trong các monorepo lớn, với tốc độ xử lý nhanh hơn từ 20 đến 70 lần so với trước đây.
Cải tiến tính năng repack với path-walk
Tính năng repack theo đường dẫn (path-walk) giờ đây đã tương thích với các cơ chế quan trọng như reachability bitmaps và delta islands. Điều này cho phép các máy chủ lưu trữ repository lớn tận dụng khả năng nén dữ liệu hiệu quả của path-walk mà vẫn duy trì được tốc độ phục vụ nhanh chóng thông qua các bitmap.
Các cập nhật đáng chú ý khác
- Lệnh git history drop: Cho phép loại bỏ một commit cụ thể và replay các commit con của nó một cách an toàn.
- Bộ công cụ git refs: Hợp nhất các lệnh quản lý tham chiếu cấp thấp (create, update, delete, rename) vào một giao diện thống nhất.
- Dọn dẹp nhánh cục bộ: Lệnh
git branch --delete-mergedhỗ trợ xóa hàng loạt các nhánh đã được merge vào upstream một cách an toàn. - Cải thiện git bisect: Tùy chọn
--reset-when-foundgiúp tự động quay lại trạng thái ban đầu sau khi tìm thấy commit gây lỗi. - Xử lý blob trong partial clone: Hỗ trợ loại bỏ các blob lớn đã fetch về máy cục bộ để tiết kiệm dung lượng lưu trữ.
- Tối ưu hóa nội bộ: Loại bỏ các điểm nghẽn hiệu năng (scaling cliffs) trong các thao tác reftable và diff, giúp giảm đáng kể thời gian thực thi cho các repository có số lượng tệp tin khổng lồ.
Bản cập nhật 2.56 không chỉ tập trung vào tính năng mới mà còn giải quyết triệt để nhiều vấn đề hiệu năng tồn đọng, giúp Git trở nên mạnh mẽ và ổn định hơn cho các dự án quy mô lớn.
Nguồn tham khảo: GitHub Blog



No Comment! Be the first one.