2012-06-16 24 views
8

Tôi đã tự hỏi suy nghĩ của mọi người về công cụ phiên bản 'git like' tốt nhất có thể được sử dụng cho nhiều tệp nhỏ (1 - 30kb). Tất cả những gì tôi thực sự muốn theo dõi là xóa, di chuyển, đổi tên nhưng không thay đổi nội dung.Công cụ phiên bản git thích hợp nhất cho nhiều tệp nhỏ

Tình huống của tôi là khoảng 200.000 1 đến 30 kilobyte tệp.

Một số tìm kiếm đã đưa tôi đến git-annex. Điều đó sẽ làm những gì tôi cần?

+16

Tại sao không git chính nó? – kjp

+2

git được thực hiện để quản lý mã nguồn. các tệp đó quá nhỏ ... –

+0

git theo dõi các lần xóa, di chuyển và đổi tên. Với git log bạn có thể '--follow' các file đơn – peshkira

Trả lời

1

git-annex là người duy nhất tôi biết - dựa trên git. Công cụ này hỗ trợ những gì bạn đang tìm kiếm và hơn thế nữa. ví dụ: đồng bộ hóa nhiều phụ lục repo trong một lần chụp. Bạn có hỗ trợ lệnh git đầy đủ và tất cả các lệnh phụ lục mới. Để làm rõ, đổi tên, xóa, di chuyển sẽ xuất hiện thành git. Phụ lục sử dụng các liên kết tượng trưng để theo dõi nội dung của bạn.

Tôi sử dụng công cụ này để theo dõi và cập nhật tệp trang chủ của mình. Rsync không thể xử lý đổi tên. Đó là lý do tại sao tôi sử dụng công cụ này, và bởi vì tôi biết git tốt.

+1

Git-annex không cung cấp nhiều lợi ích (nếu có) trên git trong ngữ cảnh này (nhiều file nhỏ, xem bình luận của tôi về câu trả lời khác). Thay vào đó, bạn thậm chí còn từ bỏ tính năng chính của git: kiểm soát phiên bản. –

1

Để nhắc lại nhận xét, tại sao không chỉ git? Công cụ này được thiết kế để hoạt động tốt trong nhiều ngữ cảnh khác nhau.

Mặc dù, đối với những gì đáng giá, việc theo dõi các đổi tên thực tế không dễ dàng như vậy trong git. Các công cụ ở đó, nhưng không có cách nào dễ dàng để truy cập chúng. Xem Find git commits that "rewrite" files.

Một ý tưởng khác: tìm một số công cụ đơn giản tập hợp tất cả tên tệp vào tệp văn bản và chỉ sử dụng git để theo dõi điều đó. Một lần nữa, có thể xử lý tên rất tốt, mặc dù.

+0

Git không hoạt động tốt trong trường hợp bạn có tệp lớn hoặc nhiều tệp nhỏ (@see http://stackoverflow.com/questions/984707/what-are-the-git-limits/984973#984973) –

+1

Đúng, nhưng git-annex không giải quyết vấn đề cụ thể này. Vì mỗi tệp được xử lý bởi git-annex được nhúng vào trong repo git cơ bản và do đó số lượng tệp trên cả hai giải pháp giống hệt nhau. –

Các vấn đề liên quan