Tôi đang trong quá trình chia nhỏ bộ ứng dụng cũ mà ban đầu cư trú trong một kho lưu trữ Subversion duy nhất.Cách xóa tất cả các tệp trong kho lưu trữ Git không nằm trong thư mục làm việc?
Tôi đã chuyển đổi nó sang kho lưu trữ Git và xóa những gì tôi không muốn, nhưng tôi muốn giảm bớt kho lưu trữ bằng cách loại bỏ dữ liệu lịch sử liên kết với các tệp đã xóa (kho gốc được duy trì cho mục đích tham khảo vì vậy nó không cần thiết trong cái mới). Lý tưởng nhất mà tôi muốn làm là đi qua toàn bộ kho lưu trữ và xóa bất kỳ tệp hoặc thư mục nào không có trong thư mục làm việc, cùng với bất kỳ lịch sử nào được liên kết với chúng. Điều này sẽ để lại cho tôi nội dung của HEAD và lịch sử cam kết ảnh hưởng đến các tệp đó. Tuy nhiên, tôi đã không đi qua một cách để làm điều này (mồ côi HEAD không giúp đỡ vì nó không bảo tồn lịch sử).
Điều này có khả thi không? Tôi biết cách xóa một tệp hoặc thư mục duy nhất khỏi toàn bộ lịch sử qua git-filter-branch, nhưng có quá nhiều tệp và thư mục để trở thành phương pháp thực tế ... trừ khi có cách lọc trên tất cả các tệp không có trong HEAD ?
gì về các tập tin đó đã đổi tên trong quá khứ? Lịch sử dải khi việc đổi tên xảy ra hoặc giữ lại tên (và theo dõi tên tập tin khác trước khi đổi tên) – knittl
Điểm tốt. Tôi muốn giữ lịch sử trước khi đổi tên, do đó, cần phải có một vài tập tin phụ trong đó là tốt. –