Khi sử dụng git fetch
để tìm nạp thông tin từ một kho lưu trữ (rất lớn) đến kho lưu trữ khác trên máy cục bộ, git upload-pack
mất nhiều thời gian để tạo các tệp gói. Trong trường hợp cục bộ, không cần phải giảm thiểu lượng dữ liệu được vận chuyển, và tôi không quan tâm đến dung lượng đĩa bị mất do mất nén delta, vì vậy lý tưởng tôi muốn các đối tượng bị thiếu được sao chép hơn là đóng gói và sau đó đã nhập. Có cách nào để yêu cầu git fetch
chỉ sao chép các đối tượng bị thiếu khi sử dụng phương tiện giao thông cục bộ không?Có thể "git fetch" được yêu cầu không sử dụng "git upload-pack" cho các kho lưu trữ cục bộ không?
Hoặc, nói chung, có cách nào để ngăn chặn việc tạo các tệp gói trên toàn cầu không? Thực sự tôi chỉ muốn sử dụng git như một hệ thống tập tin được phiên bản mà không sử dụng thêm không gian cho các tệp giống hệt nhau - việc đóng gói và đóng gói lại dường như là bước tốn thời gian khiến việc này trở nên khó xử. Một cách ngẫu nhiên, tôi đã dành một chút thời gian cố gắng tối ưu hóa các tùy chọn cấu hình để quá trình đóng gói không mất quá nhiều thời gian (vì vậy tôi không nghĩ câu trả lời là "sử dụng các tùy chọn cấu hình và đóng gói này sẽ xảy ra nhiều lắm." nhanh hơn "- tuy nhiên, có lẽ tôi đã có tất cả sai, vì vậy chỉ cần rõ ràng, các tùy chọn cấu hình mà tôi thường sử dụng (trên một maching với 2 GiB RAM) là:
core.deltacachesize=1
core.packedgitwindowsize=16m
core.packedgitlimit=128m
pack.packsizelimit=512m
pack.windowmemory=200m
pack.deltacachesize=200m
pack.window=4
pack.compression=3
pack.threads=0
gc.auto=0
gc.pruneexpire=never
receive.autogc=false
afaik, git sử dụng liên kết cứng khi nhân bản một kho lưu trữ cục bộ. Tôi không biết về tìm nạp mặc dù – knittl