Git 2.36 đã được phát hành và đây là những tin tức của nó

Sau ba tháng phát triển phiên bản mới của hệ thống đã được phát hành kiểm soát mã nguồn phân tán «Git 2.36»Một trong những hệ thống kiểm soát phiên bản hiệu suất cao, đáng tin cậy và phổ biến nhất cung cấp các công cụ phát triển phi tuyến tính linh hoạt dựa trên các nhánh và hợp nhất các nhánh.

Để đảm bảo tính toàn vẹn của lịch sử và khả năng chống lại những thay đổi "lạc hậu", hàm băm ngầm của tất cả lịch sử trước đó được sử dụng trên mỗi lần cam kết. Nó cũng có thể xác minh chữ ký điện tử của các nhà phát triển nhãn cá nhân và xác nhận.

Git 2.36 Các tính năng mới chính

So với bản phát hành trước, 717 thay đổi đã được chấp nhận trong phiên bản mới, được chuẩn bị với sự tham gia của 96 nhà phát triển, trong đó 26 lần tham gia phát triển lần đầu tiên. Những cải tiến chính:

các tùy chọn “–Remerge-diff” được thêm vào lệnh “git log” và “git show” để hiển thị sự khác biệt giữa kết quả tổng thể của hợp nhất và dữ liệu thực tế được phản ánh trong cam kết sau khi xử lý lệnh "hợp nhất", cho phép bạn đánh giá trực quan những thay đổi được thực hiện do giải quyết xung đột hợp nhất. Lệnh "git show" thông thường phân tách các giải pháp xung đột khác nhau bằng cách thụt lề, làm cho các thay đổi khó hiểu.

Khi sử dụng tùy chọn “–Remerge-diff”, sự khác biệt giữa các giải pháp xung đột không được phân tách cho từng nhánh mẹ, nhưng sự khác biệt tổng thể giữa tệp có xung đột hợp nhất và tệp đã giải quyết xung đột được hiển thị.

Một thay đổi đáng chú ý khác là cải thiện tính linh hoạt trong tùy chỉnh hành vi thoát khỏi bộ nhớ đệm đĩa thông qua lệnh gọi hàm fsync (). Tham số core.fsyncObjectFiles sẵn có trước đây đã được chia thành hai biến cấu hình core.fsync và core.fsyncMethod, cung cấp khả năng áp dụng fsync không chỉ cho các tệp đối tượng (.git / objects) mà còn cho các cấu trúc git khác như refs (.git / refs), reflog và các tệp gói.

thông qua biến core.fsync, bạn có thể chỉ định danh sách các cấu trúc Git nội bộ, sau thao tác ghi, fsync sẽ được gọi bổ sung. Biến core.fsyncPhương thức cho phép bạn chọn một phương pháp để xóa bộ nhớ cache, ví dụ: bạn có thể chọn fsync để sử dụng lệnh gọi hệ thống cùng tên hoặc chỉ định chỉ ghi để sử dụng lazywriting đang chờ xử lý (page cache lazywriting).

Để bảo vệ khỏi các lỗ hổng xử lý việc thay thế các thư mục .git bởi những người dùng khác trên các phân vùng được chia sẻ, xác minh chủ sở hữu kho lưu trữ đã được tăng cường. Bây giờ chỉ cho phép chạy bất kỳ lệnh git nào trong thư mục ".git" của riêng chúng. Nếu thư mục kho lưu trữ thuộc sở hữu của người dùng khác, một lỗi sẽ được tạo ra theo mặc định. Hành vi này có thể bị vô hiệu hóa bằng cách sử dụng cài đặt thư mục an toàn.

Nó cũng được nhấn mạnh rằng đã thêm tùy chọn “–batch-command” vào lệnh “git cat-file”, nhằm mục đích tạo ra nội dung ban đầu của các đối tượng Git, bổ sung cho các lệnh “–Batch” và “–batch-check” có sẵn trước đây với khả năng chọn loại đầu ra một cách thích ứng thông qua “nội dung »Để hiển thị nội dung hoặc« thông tin »Để hiển thị thông tin về đối tượng. Ngoài ra, lệnh "flush" được hỗ trợ để xóa bộ đệm đầu ra.

Mặt khác, nó được nhấn mạnh rằng đã thêm tùy chọn “–oid-only” (“–object-only”) đối với lệnh "git ls-tree", được thiết kế để liệt kê nội dung của một cây đối tượng, bằng cách tương tự với "–name -only", chỉ hiển thị các mã định danh đối tượng để đơn giản hóa các lệnh gọi từ các tập lệnh. Tùy chọn "--format" cũng được triển khai, cho phép bạn xác định định dạng đầu ra của riêng mình bằng cách kết hợp thông tin chế độ, loại, tên và kích thước.

Những thay đổi khác nổi bật so với phiên bản mới này:

  • Trong lệnh "git bisect run", định nghĩa về việc không đặt dấu của tệp thực thi cho tập lệnh và tạo ra lỗi với mã 126 hoặc 127 trong trường hợp này được thực hiện (trước đây, nếu tập lệnh không thể được thực thi, tất cả các đánh giá đều được đánh dấu là có vấn đề).
  • Đã thêm tùy chọn “–refetch” vào lệnh “git fetch” để tìm nạp tất cả các đối tượng mà không thông báo cho phía bên kia nội dung đã có trên hệ thống cục bộ. Hành vi này có thể hữu ích để khôi phục trạng thái sau các lỗi khi không chắc chắn về tính toàn vẹn của dữ liệu cục bộ.
  • Các lệnh "git update-index", "git checkout-index", "git read-tree" và "git clean" hiện hỗ trợ lập chỉ mục một phần (chỉ mục thưa) để cải thiện hiệu suất và tiết kiệm dung lượng trên các kho thực hiện các hoạt động từng phần. (thanh toán kém).
  • Đã thay đổi hành vi của lệnh "git clone --filter = ... --recurse-submodules", hiện dẫn đến sao chép một phần các mô-đun con (trước đây, khi thực hiện các lệnh như vậy, bộ lọc chỉ được áp dụng cho nội dung chính và các mô-đun con hoàn toàn nhân bản mà không tính đến bộ lọc).
  • Đã thêm hỗ trợ để chỉ định bộ lọc cho vị trí nội dung có chọn lọc trong lệnh "git pack", tương tự như các hoạt động sao chép một phần.
  • Đã thêm tùy chọn “–recurse-submodules” vào lệnh “git branch” để duyệt đệ quy các mô-đun con.
    Userdiff đã đề xuất một trình điều khiển mới cho ngôn ngữ Kotlin.

Cuối cùng nếu bạn muốn biết thêm về nó về phiên bản Git 2.36 mới này bạn có thể tham khảo chi tiết tại liên kết sau.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.