2008-09-18 29 views
6

Tôi đã di chuyển một vài dự án từ Subversion sang git. Nó hoạt động thực sự tốt nhưng khi tôi sao chép kho lưu trữ của tôi, nó thực sự dài vì tôi có tất cả lịch sử của rất nhiều tệp .jar được bao gồm trong quá trình chuyển.Có cách nào để thanh lọc một số tập tin từ lịch sử của git không?

Có cách nào để chỉ giữ phiên bản mới nhất của loại tệp nhất định trong kho lưu trữ chính của tôi không. Tôi chủ yếu muốn xóa phiên bản cũ trên tập tin nhị phân.

Trả lời

5

Bạn có thể loại bỏ các phiên bản cũ với một trong hai "git rebase" -i hoặc "git filter-branch"

http://schacon.github.com/git/git-filter-branch.html

http://schacon.github.com/git/git-rebase.html

tài liệu và hướng dẫn khác: http://git-scm.com/documentation

Giữ chỉ phiên bản hiện tại từ bây giờ trở đi không được hỗ trợ. Đặt cược tốt nhất của bạn là để thay vào đó, hãy kiểm soát bản xem lại một tập lệnh nhỏ tải xuống (hoặc xây dựng hoặc tạo khác) tệp .jar lớn.

Vì điều này sửa đổi lịch sử, nó sẽ làm cho tất cả các bản sao trước đó hoặc kéo từ kho lưu trữ này không hợp lệ.

1

Tóm lại, điều này sẽ liên quan đến việc viết lại toàn bộ cây cam kết để loại trừ các tệp. Bạn đã thử sử dụng git gcgit pack để git nén kho lưu trữ của bạn?

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