3 điểm bởi xguru 2 giờ trước | 1 bình luận | Chia sẻ qua WhatsApp
  • Không cần clone cục bộ; trực tiếp truyền luồng ref và object từ remote nguồn sang remote đích, không checkout kho lưu trữ xuống đĩa cục bộ
  • Với đường truyền Relay, dữ liệu pack từ upload-pack của nguồn được chuyển thẳng sang receive-pack của đích, nên mức dùng bộ nhớ giữ ổn định bất kể kích thước kho lưu trữ
  • Khi không thể relay (force, prune, delete, v.v.), dùng fallback Materialized: fetch object vào store go-git trong bộ nhớ, sau đó mã hóa packfile và push; có thể giới hạn bộ nhớ bằng --materialized-max-objects
  • Chỉ với git-sync sync có thể xử lý từ seed ban đầu cho target rỗng đến đồng bộ liên tục; có thể xem trước trước khi push bằng git-sync plan
  • git-sync replicate là chế độ nghiêm ngặt, đồng bộ ref ở đích khớp hoàn toàn với nguồn, nhưng sẽ thất bại nếu cần materialize cục bộ
  • Hỗ trợ mọi thao tác quản lý ref như tạo ref, cập nhật, cập nhật cưỡng bức bằng --force, xóa bằng --prune, v.v.
  • Mọi thao tác đều được lập kế hoạch trước khi push và cung cấp đầu ra JSON có kiểu, có thể nối thẳng vào pipeline CI/tự động hóa
  • Cũng có thể nhúng như thư viện Go, cung cấp API ổn định như Probe, Plan, Sync, Replicate
  • Chỉ hỗ trợ một chiều, không hỗ trợ SSH (chỉ Smart HTTP/HTTPS), không có tính năng daemon/theo dõi, chạy theo kiểu one-shot
  • Giấy phép MIT

1 bình luận

 
colus001 2 giờ trước

Chắc là làm ra vì worktree đang thịnh hành. Phải thử mới được!