Tôi đang di chuyển một kho lưu trữ từ svn sang git.Xóa nhiều tệp trong bộ lọc git-branch
Trong bước cuối cùng này, tôi muốn xóa hàng tấn tệp không cần thiết khỏi lịch sử.
Tôi đang cố gắng vào lệnh sau:
git filter-branch --prune-empty --index-filter \
"for file in $(cat files); do git rm -rf --cached --ignore-unmatch ${file}; done" -f
Nhưng nó nói rằng danh sách đối số quá dài.
tôi có thể viết lại như thế này:
for file in $(cat files); do
git filter-branch --prune-empty --index-filter \
"git rm -rf --cached --ignore-unmatch ${file}" -f
done
Nhưng nó sẽ chạy tấn filter-branch lần, và lịch sử dài .. như vậy, nó sẽ mất quá nhiều thời gian.
Có cách nào nhanh hơn để lọc nhánh loại bỏ nhiều tệp không?
bạn có thể xem xét tách git trong svn 2 git hay không; Tôi về cơ bản yêu cầu tái cấu trúc kho lưu trữ – forvaidya
bản sao có thể có của [Bản ghi nhớ mới có lịch sử được sao chép của các tệp hiện được theo dõi mới] (http://stackoverflow.com/questions/17901588/new-repo-with-copied-history-of-only- hiện đang theo dõi các tập tin) –
Tôi đã làm điều đó. Nhưng repo vẫn còn quá lớn. Đồng nghiệp của tôi đã từng thực hiện các tệp nhị phân cho SVN, như jBoss, JDK và những thứ khác ... một mớ hỗn độn thực sự .. – caarlos0